• ベストアンサー

FOAMRESIZEについて。

FOAMのRESIZEの使い方について教えてほしいのですが、 フォームの中にテキストボックスがあるとして、 「フォームのサイズを変更すると、それにあわせてテキストボックスの大きさが変わる」という物はできたのですが、 それを最小化すると、RESIZEが働いてしまってエラーがでてしまいます。 フォームの大きさで判断してエラーを回避できないかと、やってみましたが、 うまくいきませんでした。 このエラーについての回避の方法があるならば 教えてくれませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

どもども 田吾作7です。 方法は大きくわけて2つ、細かくわけて3つあります。 (↑ややこしい?) 1-1 On Error Goto ErrLabel これはMasato_aさんが述べてた通り、「エラーが起こったら、指定のラベルに飛びなさい。」という命令です。 1-2 On Error Resume Next 使い方は先に挙げた1-1と似ていますが、ラベルを必要としません。エラーが起きても、次の行以降をどんどん実行行きます。この命令を書く時は、予期せぬエラーが起こったときに、臨時で書くことが多いですが、覚えると多様する癖がついてしまいます。いざホントにエラーが起きても、エラー個所が気付かなくなってしまう時がありますので、注意しましょう。 [On Error Resume Next]は[On Error Goto 0]を実行することで、エラーメッセージを復旧することができますので、覚えておいてください。 2-1 WindowStateを見る Resize時のイベントに[Debug.Pring Me.WindowState]を記述してみてください。 0・1・2のいずれかが出力されると思います。 これは[vbNormal][vbMinimized][vbMaximized]という定数の値です。(ヘルプで参照してください。) Windowの現在の表示状態を得ることが出来るので、 Private Sub Form_Resize() If .WindowState = vbMinimized Then Exit Sub ~サイズ変更ロジック~ End Sub としてしまえば、よいと思います。

mutuzi
質問者

お礼

細かく何パターンもありがとうございます! 最大化とかの状態も、見れるんですね。 いろいろあるので試してみようと思います。 長文レスありがとうございました。

その他の回答 (1)

  • Masato_a
  • ベストアンサー率21% (13/60)
回答No.1

Sub .... On Error Goto ErrH: テキストボックスのサイズ更新コード ErrH: End Sub エラーがでたら・・・という大胆なコーディングで回避できます。

mutuzi
質問者

お礼

回答ありがとうございます。 エラーがでたら飛ばしてしまえばいいわけですね。 参考になります。 ありがとうございました。

関連するQ&A

  • フォームがリサイズされた時の各コントロールの位置変更コードについて

    教えてください。 前々から疑問だったのですが、VBでフォームをリサイズした場合に それぞれのコントロールもそれに合わせて大きさが変更されたり 移動したりという状態にするには、当然Form_Resizeのコードを 書く必要があると思うのですが、VBでツールを作成される方は 皆さんひとつひとつのコントロールの位置を計算しながら毎回 コードを書いているのでしょうか? OCXなどを使うと、勝手にコントロールの位置を調整してくれるものも ありますが、やはり皆さん自分でコードを書いていらっしゃるのでしょうか? 私が分かるのは、フォームにテキストボックスのみを貼り付けて、 Private Sub Form_Resize() Form1.text1.Top = 0 Form1.text1.Left = 0 Form1.text1.Width = ScaleWidth Form1.text1.Height = ScaleHeight End Sub と書くと、リサイズに合わせてテキストボックスが画面いっぱいにサイズ変更 するというものです。 コマンドボタンとか色々貼り付けた状態ではどのように書けばいいのか いまひとつ分かりません。 皆さんはどのようにされているのでしょうか? 是非是非教えてください。

  • フォームについて

    フォームのサイズの変更や移動はできないけれど、中のテキストボックスなどの入力は可能にしたいんですけど、なにかありませんか?

  • チェックボックスのサイズ変更

    Excel2000で、フォームのチェックボックスを使いたいのですが、これはサイズを変更することができないのでしょうか? プロパティでサイズ変更をしてもボックスとテキストの大きさは変わらず、不便な思いをしています。 もし方法があるのなら、ぜひ教えてください。 よろしくお願いします。

  • テキストボックスが読み取り専用になってしまった

    ACCESS2000を使用してフォームのテキストボックスが 突然読取専用になってしまい、実行時エラーになってしまいました。 回避する方法があればお願いします

  • HTMLフォームのテキストボックスに入力する文字のサイズ

    こんにちは、みなさん。 HTMLフォームのテキストボックスのサイズを大きくし、 その中に大きな文字を入れようとしています。 しかし、テキストボックスのサイズを大きくしても、 中に入力できる文字のサイズは小さいままとなっています。 テキストボックスのサイズに合わせて文字を大きくするには どうしたらよいのでしょうか?お願いします。m(__)m

    • ベストアンサー
    • HTML
  • フォームの縦横比率を一定にする方法

    お世話になります。 環境:NT4.0 W + VB6(SP3) 画面内に納まる程度のサイズ変更という前提で、フォームの縦横比率を一定にする方法を教えて頂けませんでしょうか? フォームの縦横のサイズが1対2だとします。 フォームの縦を1.5倍にしたら、横も1.5倍になるようにしたいのです。 Form_Resize()時に、フォームの縦が変更されたら横も変更する、あるいは横が変更されたら縦を変更するようにコーディングしたのですが、再帰的にForm_Resize()が呼ばれてしまい、正しくサイズが変更されません。 よろしくお願いします。

  • Accessのコンボボックスの絞込み検索について教えて下さい

    Accessで仕入伝票の入力作業をしています。 入力フォームの中のコンボボックスを開いて仕入先コードを入力しますが、仕入先が多いため別のテキストボックス(テキスト名=「読みがな」)に入力された読みがなを使って絞込みをします。方法はコンボボックスの集合ソースのクエリーの社名フリガナのフィールドに 「 like "*" & [forms]![F_入力票]![読みがな] & "*"」と抽出条件を入れました。 これでうまく絞り込みができましたが、同じ様にこれをサブフォームの中で行うとエラー(「読みがな」が存在しない)になってしまいます。 このエラーを回避してうまく絞り込みができる方法を教えて下さい。 よろしくお願いします。

  • チェックボックスONでテキストエリアを大きく

    チェックボックスをONにするとフォームテキストエリアのサイズが変更できるようにすることは可能でしょうか? できるようでしたら、やり方を教えてください

  • フォームのResizeイベントについて

    超ド級の初心者ですが、Visual Basic.NETの本を買って勉強を始めました。 その中で「フォームのResizeイベントが発生するたびに、フォームのWidthプロパティをテキストボックスに表示するように」との練習問題がありましたがうまくできません。 Visual Basic6.0もあるので、そちらで同じことをやってみたところ、以下のようなコードで正常に動作しました。 Private Sub Form_Resize() Text1.Text = Me.Width End Sub Visual Basic.NETではどう記述すればいいのか教えていただけませんか?

  • Indesign テキストボックス表組の入れ子式

    独学でインデザインをやっています。 先日支給されたフォーマットデータに、テキストボックス内の表組の中にまたボックスを配置した表現があり、扱いにくくて大変に苦労しました。 ・グレーのテキストボックスの中に、赤・緑のテキストボックスが隙間なく入っている ・緑のテキストボックスの中は表組みで、わずかな隙間があるだけでほぼぴったり配置されている ・全てのテキストボックスが、内容にあわせて最小サイズに変わる ・画像を貼り替えたいが、同じサイズのものをコピペしているはずが、アフレて表示されない という状態でした。 こういう場合は、どう編集するのが効率が良いのでしょうか? 私はグレーのテキストボックスの横幅が自動で縮まる設定を解除して、緑のテキストボックスを取り出して、外で表組みの中の画像を変更して戻しました。 自分のやり方がとても効率が悪く感じたので、ご意見いただければ幸いです。 不勉強でお恥ずかしいですがよろしくお願いいたします。