タイトルの表記が好ましくなかったので再度書き込みさせて頂きます。
VB6.0(SP5)にて
フォームを摘めないようにしたいのですが
フォーム名.Moveable = False
とすると実行時に
以下のコンパイルエラーが出てしまいます。
−−−−−−−−−−−−−−−−−−−−−−−−−−−
コンパイルエラー
関数またはインタフェースが予約されているか、またはVisualBasicでサポートされていないオートメーションタイプが
関数で使用されています。
−−−−−−−−−−−−−−−−−−−−−−−−−−−
なぜそうなってしまうのかわからないです。
どうかご教授ください。
Movableプロパティを、Form_Load 等で設定していませんか?
オブジェクトブラウザ ([F2]キーで表示されます) を見るとわかりますが、
Moveable プロパティは「読み取り専用」のプロパティであるため、
実行時に変更する事はできません。デザイン時に指定してみてください。
魔界の仮面弁士さん、ありがとうございます。
なるほど。実行時に変更できないんですね。
FormLoad後、コマンドボタンにより重い処理を行うのですが
処理中にフォームを移動されると困るので実行時に変更したかったのです。
(処理中でなければ移動してもよい)
他の方法を調べてみようと思います。
Me.Enabled = False
でできないかな?
とおりすがりのネコさん、ありがとうございます。
Me.Enabled = Falseにして
処理終了後Trueに戻すようにすると
処理中の砂時計表示がされなくなってしまいました。
またTrueに戻した直後にフォームが移動されてしまうのです。
簡単に制御できるかと思ったのですがなかなかうまくいかないですね。
マウスポインタの方は
Screen.MousePointer
で設定できると思います。
>またTrueに戻した直後にフォームが移動されてしまうのです。
私の環境では勝手に移動するなんていうことは起こったことがないので
ちょっとわかりません。ごめんなさい。
> またTrueに戻した直後にフォームが移動されてしまうのです。
Trueに戻す直前にDoEventsを入れてみてください。
うまくいきました!
みなさん、ご回答ありがとうございました。