Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の救済をお願いします。
■Delphi 10.3
ttp://www.embarcadero.com/jp/products/delphi
■Delphi Community Edition (無料)
iOS、Android、Windows、macOS向けアプリも開発可能。年間売上5000 US$以内の商用開発可。
https://www.embarcadero.com/jp/products/delphi/starter
<前スレ>
くだすれDelphi(超初心者用)その57
https://mevius.5ch.net/test/read.cgi/tech/1476332514/
探検
くだすれDelphi(超初心者用)その58【Embarcadero】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/03/11(水) 18:30:39.03ID:NTiFnax/705デフォルトの名無しさん
2021/04/14(水) 12:17:00.20ID:Hb0A0MO4 >>704
そっちね
試してみた
結論から言うとダミーのポップアップメニューを関連付ければOnContextPopupイベントが発生しそこでHandled=trueにすればポップアップは呼ばれなくなる
もう一つの解決策はTComboBoxの下位クラスを作成しWM_CONTEXTMENUを上位クラスで処理させないようにすること
原因なんだが、
OnContextPopupイベントはTControlで実装されている
TComboBoxはエディット部分を別のウインドウとして保持している
PopupMenuプロパティがNilの場合、WM_CONTEXTMENUが送られるとそのエディットのウインドウプロシージャに制御を渡すので無条件にエディットのデフォルトのポップアップが表示される
PopupMenuプロパティに関連付けがあるとコントロールの上位クラスに制御を渡し、上位クラスTControlまで行くことでOnContextPopupイベントが呼ばれる
そっちね
試してみた
結論から言うとダミーのポップアップメニューを関連付ければOnContextPopupイベントが発生しそこでHandled=trueにすればポップアップは呼ばれなくなる
もう一つの解決策はTComboBoxの下位クラスを作成しWM_CONTEXTMENUを上位クラスで処理させないようにすること
原因なんだが、
OnContextPopupイベントはTControlで実装されている
TComboBoxはエディット部分を別のウインドウとして保持している
PopupMenuプロパティがNilの場合、WM_CONTEXTMENUが送られるとそのエディットのウインドウプロシージャに制御を渡すので無条件にエディットのデフォルトのポップアップが表示される
PopupMenuプロパティに関連付けがあるとコントロールの上位クラスに制御を渡し、上位クラスTControlまで行くことでOnContextPopupイベントが呼ばれる
706デフォルトの名無しさん
2021/04/14(水) 12:18:10.91ID:Hb0A0MO4 ×OnContextPopupイベントはTControlで実装されている
〇OnContextPopupイベントの呼び出しはTControlで実装されている
〇OnContextPopupイベントの呼び出しはTControlで実装されている
707デフォルトの名無しさん
2021/04/14(水) 12:37:48.37ID:Hb0A0MO4 補足
>もう一つの解決策はTComboBoxの下位クラスを作成しWM_CONTEXTMENUを上位クラスで処理させないようにすること
オーバーライドするのは procedure EditWndProc(var Message: TMessage); virtual; ね
ここでWM_CONTEXTMENUが飛んで来たら上位クラスに渡さずExitすればポップアップしなくなる
>もう一つの解決策はTComboBoxの下位クラスを作成しWM_CONTEXTMENUを上位クラスで処理させないようにすること
オーバーライドするのは procedure EditWndProc(var Message: TMessage); virtual; ね
ここでWM_CONTEXTMENUが飛んで来たら上位クラスに渡さずExitすればポップアップしなくなる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【訃報】ゴルフ界のレジェンド ジャンボ尾崎さん死去 78歳 男子国内ツアーで最多94勝 S状結腸がんで [ぐれ★]
- 高市政権、続く高支持率 積極財政や対中強硬姿勢評価か 「なぜこんなに高いのか」政権内に困惑も [ぐれ★]
- 【島根】小学校で給食スープにハエの死骸… [ぐれ★]
- 高市政権、続く高支持率 積極財政や対中強硬姿勢評価か 「なぜこんなに高いのか」政権内に困惑も ★2 [ぐれ★]
- 米国防総省、中国軍は「2027年の台湾侵攻へ着実に前進」 分析公表 [蚤の市★]
- 【📱】PCだけじゃなかった… スマホも「世界的メモリ不足」で値上がりへ 26年はスペックダウンも頻発か [ぐれ★]
- ひろゆき「日本人の宗教感は狂ってる。クリスマスはキリスト教、年末年始は神社でお参りとか…神様をつまみ食いするとか異常」 [434776867]
- 米大臣鈴木「おこめ券配らないやつ、いねーよなあ?」山形県内でおこめ券配布しない自治体5→16市町村に [163661708]
- 高市テレビ、中国の年配が大虐殺について語った箇所だけ字幕消して放送wwwww [237216734]
- ネトウヨ「反日教育をしてる中国のような国と仲良くできるわけがない!」 俺「韓国の反日教育はなんでいいの?」 ネ「…」 なぜなのか [314039747]
- 吉村さん「政治家ってすぐ嘘をつく。でも高市さんは違う。裏がないまっすぐな人」俺たちは何を見せられているんだ [545512288]
- 気が強い人の方が人生楽しいかな
