質問です
WinXp vc++.netを利用しています
ダイアログウインドウやフレームウインドウ等でタイトルバーの無いクライアント領域のみのウィンドウを作り
ウインドウスタイルを変更してサイズ変更枠をつけました。
このサイズ変更枠の色、枠線のデザインなどを変更する方法はあるのでしょうか
WinAPIでもMFCでもかまいません。
よろしくお願い致します
WM_NCPAINT をハンドルします。
枠の幅も変えたければ、WM_NCCALCSIZE
当たり判定も変えたければ、WM_NCHITTEST
など、WM_NC〜メッセージを調べてみるとよいです。
回答ありがとうございます
早速MFCでDialog::OnNcPaint()
を拾って見たのですが、戻り値も引き数も無い関数で
このタイミングでどの値に何をいれてあげればいいかが
分からない状態です
色の関係なのでGetDC->*****あたりをMSDNで調べていますが
「コレ」というのが見つかりません
このイベントで四角の線を枠線の上に張り付けて、WM_MOVEのたびに
再度四角のサイズを変更して再描画するという考え方なのでしょうか
よろしくお願いします
OnPaint() と似たようなものです。
自分でDCを用意して好きなように描画します。
例:
void CMyDlg::OnNcPaint()
{
CWindowDC dc(this);
CRect rect;
GetWindowRect(rect);
rect.OffsetRect(-rect.TopLeft());
// 外枠を赤で囲む
dc.FrameRect(rect, &CBrush(RGB(255,0,0)));
...
}
dairygoodsさんありがとうございます
戴きましたサンプルでうまく行きました
OnNCPaintの呼ばれるタイミングなども
分かって来ました
DCの簡単なサンプルまでつけていただきありがとうございます
これで他の色や枠線のデザインを試す事もできます。
ありがとうございました
ツイート | ![]() |