チェックボックスのテキストを背景に透過させるには?

解決


iir  2006-06-09 15:30:47  No: 62135  IP: 192.*.*.*

VC++6.0です。

hCheckWnd = CreateWindow("BUTTON","checkbox",
  WS_CHILD | WS_VISIBLE | BS_CHECKBOX,
  0,0,100,50,
  hWnd,NULL,hInst,NULL);
で作成したチェックボックスのテキストが背景色から浮いてしまい困っています。
背景色に透過させるか色を指定して背景色と同色にするか出来ればいいのですが方法がわからずにいます。
宜しくお願いします。

編集 削除
瀬戸っぷ  2006-06-10 14:24:14  No: 62136  IP: 192.*.*.*

http://forums.belution.com/ja/vc/000/209/78s.shtml
参考にどうぞ。
って既に紹介されてますけどね。

編集 削除
yukika  2006-06-10 21:36:38  No: 62137  IP: 192.*.*.*

WM_CTLCOLORDLG:
WM_CTLCOLORSTATIC:  などのメッセージで、

関数 SetBkMode(hDC, TRANSPARENT); // 背景を透過
及び
HBRUSH hbkgnd = NULL;として、

if( !hbkgnd){

LOGBRUSH lb;
lb.lbStyle = BS_HOLLOW ;

hbkgnd = CreateBrushIndirect( &lb );
} //if( !hbkgnd)

return( ( LRESULT ) hbkgnd );

これでチェックボックスのテキスト部分を透過処理できるとおもいます。

細かいことは以下を参考程度に、
http://www17.plala.or.jp/page-zero/programming-w.html

編集 削除
iir  2006-06-11 00:10:38  No: 62138  IP: 192.*.*.*

ありがとうございました。
2箇所のホームページともに大変参考になりました!

編集 削除