プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2004/09/28 12:41

>サブクラス化しか手が無いのですか?



親ウィンドウにはなにもこないのでサブクラス化するしかないです。

>Staticを白色にする場合もサブクラス化しないと行けないのでしょうか?

WM_CTLCOLORSTATICを処理すればstaticの背景色や文字色は変更できます。サブクラス化は不要です。
http://www.expertmg.co.jp/html/cti/vctips/contro …コントロールの背景色を変える

参考URL:http://www.expertmg.co.jp/html/cti/vctips/contro …コントロールの背景色を変える
    • good
    • 0
この回答へのお礼

ありがとうございます
参考サイトはお気に入りに登録させていただきました

回答がくるまで自分也に悪戦苦闘し
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年以上悩んでいてあきらめていたので大変助かりました

お礼日時:2004/09/28 14:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!