- ベストアンサー
Editコントロールを
メインウィンドウに配置すると マウスカーソルをEditにポイントしてマウスの右ボタンをクリックすると ショートカットメニューが出てきますが これを出さないようにすることはできるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サブクラス化してWM_CONTEXTMENUを自分で処理する(CallWindowProc()に渡さない)。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>サブクラス化しか手が無いのですか? 親ウィンドウにはなにもこないのでサブクラス化するしかないです。 >Staticを白色にする場合もサブクラス化しないと行けないのでしょうか? WM_CTLCOLORSTATICを処理すればstaticの背景色や文字色は変更できます。サブクラス化は不要です。 http://www.expertmg.co.jp/html/cti/vctips/control.htm#コントロールの背景色を変える
お礼
ありがとうございます 参考サイトはお気に入りに登録させていただきました 回答がくるまで自分也に悪戦苦闘し http://www.nitoyon.com/vc/reference/gui/static.htm を見つけ 親ウィンドウのProcの最後に case WM_CTLCOLORSTATIC: { HDC hd=(HDC)wP; SetTextColor(hd,RGB(0,0,0)); return (BOOL)(HBRUSH)GetStockObject(WHITE_BRUSH); } default: return(DefWindowProc(hW,wM,wP,lP)); を付ければStaticが一斉に白地に黒文字に変わりました 1年以上悩んでいてあきらめていたので大変助かりました
お礼
ありがとうございます サブクラス化しか手が無いのですか? Procの差し替えや戻しがいるので管理が大変ですね コメントだけなのでStaticを使えばいいのですが これだと灰色で字が見えにくいし Staticを白色にする場合もサブクラス化しないと行けないのでしょうか?