はじめまして。m(__)m
オーナードローメニュー(odm)コンポを使わせていただいてます。
問題なく動作していたのですが、onResizeイベントを追加すると「オーナードローメニュー(odm)」が無効になってしまいました。(TT)
onResizeイベントがあると、POPUPメニューのMessageが届かないんです。 何か解決策はないでしょうか?
onResizeというとメインフォームのイベントですよね?
確認してみましたが私の方ではPopUpメニューにもメッセージが届いていました。(^^;
あと、開発環境/ソースの改変部分なども記載してくれると大変わかりやすいです。
PAPYさん、レスをいただいたのに返事が遅くなってすみませんm(__)m
実はマシントラブルでネットにアクセス出来なかったのです。
>onResizeというとメインフォームのイベントですよね?
はい、それがonResizeイベントを削除した後もう一度追加してみたら、ナンと正常にODMが動作するんです。
また別のプログラムにODMを入れてみると動作しなかったので、いろいろ思考錯誤して結局タイマーコンポを削除したらODMが動作しました。
でも、削除後にもう一度タイマーを追加するとまたまたチャントODMが動作するのです。
この現象は一体どうなってるんでしょう。(@_@)
あっ書き忘れましたが、開発環境はWin98、Delphi2.0です(^^ゞ
Delphi3.1以降ではこんな不思議現象は起きないんでしょうか?
ここで話が変わって(^^;;、SendMessage(hWnd,WM_CLOSE,0,0);で普通のアプリなら閉じることが出来ますが、エクスプローラやIEは閉じてくれません。 ShowWindow(hWnd, SW_HIDE);だと一応消えますが隠れるだけでIEは終了していないんですね。
IEを閉じる(終了させる)にはどうすればいいんでしょう?
PAPYさん、レスをいただいたのに返事が遅くなってすみませんm(__)m
実はマシントラブルでネットにアクセス出来なかったのです。
>onResizeというとメインフォームのイベントですよね?
はい、それがonResizeイベントを削除した後もう一度追加してみたら、ナンと正常にODMが動作するんです。
また別のプログラムにODMを入れてみると動作しなかったので、いろいろ思考錯誤して結局タイマーコンポを削除したらODMが動作しました。
でも、削除後にもう一度タイマーを追加するとまたまたチャントODMが動作するのです。
この現象は一体どうなってるんでしょう。(@_@)
あっ書き忘れましたが、開発環境はWin98、Delphi2.0です(^^ゞ
Delphi3.1以降ではこんな不思議現象は起きないんでしょうか?
ここで話が変わって(^^;;、SendMessage(hWnd,WM_CLOSE,0,0);で普通のアプリなら閉じることが出来ますが、エクスプローラやIEは閉じてくれません。 ShowWindow(hWnd, SW_HIDE);だと一応消えますが隠れるだけでIEは終了していないんですね。
IEを閉じる(終了させる)にはどうすればいいんでしょう?
すみません、うっかりIEの「更新」をクリックしたら二重送信されてしまいました。m(__)m
自分で削除出来ないようなので、管理者さん重複発言を削除してください。m(__)m
再度、確認したところDelphi3.0/3.1では正常に動作する模様です。
Delphi2.0の環境は持っていないので対処の仕様がありません。ごめんなさい。(^^;
また、Delphi4.0以降からはTMainMenu及びTPopUpMenuの標準機能としてオーナードローメニューがあります。
>IEを閉じる(終了させる)にはどうすればいいんでしょう?
これではどうでしょうか?
SendMessage(handle,WM_SYSCOMMAND,SC_CLOSE,0);
こちらは終了メッセージではなくシステムメニューの「閉じる」を押したことになるので
ウインドウを閉じることは出来るかも知れません。未確認ですが・・・
※ネット接続は切れないと思います。
返事が遅くなりましたm(__)m
あれからいろいろ試した結果、ODMが使えなくなるコンポはいろいろで
すが、どれも一度削除して再追加するとODMが使えるようになります。
Delphi3.0以降では起きない現象ということなのでDelphi2.0のバグなんでしょうね(^^ゞ
>SendMessage(handle,WM_SYSCOMMAND,SC_CLOSE,0);
これでバッチリIEを閉じることが出来ました。ありがとうございました。m(__)m
ツイート | ![]() |