実行時にMoveable プロパティを設定するには?

解決


ぽんげ  2004-08-03 00:09:27  No: 115289

タイトルの表記が好ましくなかったので再度書き込みさせて頂きます。

VB6.0(SP5)にて
フォームを摘めないようにしたいのですが
フォーム名.Moveable = False
とすると実行時に
以下のコンパイルエラーが出てしまいます。
−−−−−−−−−−−−−−−−−−−−−−−−−−−
コンパイルエラー

関数またはインタフェースが予約されているか、またはVisualBasicでサポートされていないオートメーションタイプが
関数で使用されています。
−−−−−−−−−−−−−−−−−−−−−−−−−−−

なぜそうなってしまうのかわからないです。
どうかご教授ください。


魔界の仮面弁士  2004-08-03 01:03:34  No: 115290

Movableプロパティを、Form_Load 等で設定していませんか?

オブジェクトブラウザ ([F2]キーで表示されます) を見るとわかりますが、
Moveable プロパティは「読み取り専用」のプロパティであるため、
実行時に変更する事はできません。デザイン時に指定してみてください。


ぽんげ  2004-08-03 01:34:15  No: 115291

魔界の仮面弁士さん、ありがとうございます。
なるほど。実行時に変更できないんですね。
FormLoad後、コマンドボタンにより重い処理を行うのですが
処理中にフォームを移動されると困るので実行時に変更したかったのです。
(処理中でなければ移動してもよい)

他の方法を調べてみようと思います。


とおりすがりのネコ  2004-08-03 01:41:13  No: 115292

Me.Enabled = False
でできないかな?


ぽんげ  2004-08-03 02:03:11  No: 115293

とおりすがりのネコさん、ありがとうございます。
Me.Enabled = Falseにして
処理終了後Trueに戻すようにすると
処理中の砂時計表示がされなくなってしまいました。
またTrueに戻した直後にフォームが移動されてしまうのです。

簡単に制御できるかと思ったのですがなかなかうまくいかないですね。


とおりすがりのネコ  2004-08-03 02:20:14  No: 115294

マウスポインタの方は
  Screen.MousePointer
で設定できると思います。

>またTrueに戻した直後にフォームが移動されてしまうのです。
私の環境では勝手に移動するなんていうことは起こったことがないので
ちょっとわかりません。ごめんなさい。


nanashi  2004-08-03 02:51:31  No: 115295

> またTrueに戻した直後にフォームが移動されてしまうのです。

Trueに戻す直前にDoEventsを入れてみてください。


ぽんげ  2004-08-03 19:21:08  No: 115296

うまくいきました!
みなさん、ご回答ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加