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

A 回答 (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
としてしまえば、よいと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/11 00:23

Sub ....


On Error Goto ErrH:
テキストボックスのサイズ更新コード

ErrH:
End Sub

エラーがでたら・・・という大胆なコーディングで回避できます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/11 00:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報