• ベストアンサー

Editコントロールを

メインウィンドウに配置すると マウスカーソルをEditにポイントしてマウスの右ボタンをクリックすると ショートカットメニューが出てきますが これを出さないようにすることはできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

サブクラス化してWM_CONTEXTMENUを自分で処理する(CallWindowProc()に渡さない)。

keyguy
質問者

お礼

ありがとうございます サブクラス化しか手が無いのですか? Procの差し替えや戻しがいるので管理が大変ですね コメントだけなのでStaticを使えばいいのですが これだと灰色で字が見えにくいし Staticを白色にする場合もサブクラス化しないと行けないのでしょうか?

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>サブクラス化しか手が無いのですか? 親ウィンドウにはなにもこないのでサブクラス化するしかないです。 >Staticを白色にする場合もサブクラス化しないと行けないのでしょうか? WM_CTLCOLORSTATICを処理すればstaticの背景色や文字色は変更できます。サブクラス化は不要です。 http://www.expertmg.co.jp/html/cti/vctips/control.htm#コントロールの背景色を変える

参考URL:
http://www.expertmg.co.jp/html/cti/vctips/control.htm#コントロールの背景色を変える
keyguy
質問者

お礼

ありがとうございます 参考サイトはお気に入りに登録させていただきました 回答がくるまで自分也に悪戦苦闘し 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年以上悩んでいてあきらめていたので大変助かりました

関連するQ&A

専門家に質問してみよう