の追加をクリック/ダブルクリックしイベントへの静的なグループボックス制御

StackOverflow https://stackoverflow.com/questions/2541714

質問

を実現、自分の理由があります。疑たってこの方法は異なります。だが、やはり申---

の理由で懐かしさを親しみやすさぼっ符号化UI MFC.のために怪しげの理由としてさい)したかったのを追加(ダブル)をクリックしイベントグループボックス。当然、グループボックスを含むものがあったので、他の静的項目、また追加(ダブル)をクリックしイベントハンドラです。

あんなイベントハンドラ用のクリックグループボックス私と同じようにそれを実行できるシンプルなテキスト静的ますか?な金額をクリック、または近くの火災制御のイベントです。

ノートを読んでよ http://www.codeproject.com/KB/static/staticctrl_tut.aspx しへの対応もON_STN_...イベントやON_BN_...メッセージ設定の通知のスタイル(BS_NOTIFYが表示されるrcファイル)...やまだんに何かが足りない何なのでしょう。でも可能ですか?ほとんどろ風mikiモデルを作ってみ読ことを示唆を経て、今日に至っています。が明確な答えのためのC++/MFC.

以降、最初の投稿この問いに、私は見つかりへの参照をWM_NCHITTESTメッセージされるヒントを作成する必要があるためのハンドラはこのメッセージをオーバーライドグループボックスのデフォルト行動にお応えHT_TRANSPARENT...ず、その透明性にClassWizard[false]に設定されています。なるほど。誰でもできるので確認のことをすることが重要とな?

役に立ちましたか?

解決

と思いWM_NCHHITTEST/HT_TRANSPARENTすることが重要となる。

グループボックスは、次のような制御:このような他のコントロールは、実際に兄弟姉妹のコントロールHWNDます。なので、windowsのようなされるものではないがボタンのある兄弟のボタンを押とが前後でのHWND上位の階層となります。

グループの箱に対応WM_NCHITTESTとHT_TRANSPARENT、マウスクリックによっても大きく変わりを持っています。係であることになるかどうかのグループボックスが前後に制御でを含むの窓たをクリックしている経路での飛行管のgroupbox.

をダブルクリックす(ただのクリック)のgroupbox、ま必要なのは二つのことをやろうとしてい

  • オーバーライドのデフォルトWM_NCHITTEST行動で戻りHT_CLIENTのように通常の制御
  • ;この時点でできるのWM_LBUTTONDOWNおよび関連イベントいった他の場所では、兄弟のダイアログ)。
  • の内容のgroupbox越前述のHWND z順のような依存をクリックい"から"のgroupbox.(少なくともたいと思いますし、どちらにする必要があるのHWND順序付けた重要なのです。)

これは、異なるタイプの透明性などからWS_EX_TRANSPARENTるのかを、透明なクラスのウィザードのプロパティマップです。大幅に簡略化し、HT_TRANSPARENTい透明なため、マウスWS_EX_TRANSPARENTりつつ塗装前で兄弟"にて".

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top