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

解決


iir  2006-06-10 00:30:47  No: 62135

VC++6.0です。

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


瀬戸っぷ  2006-06-10 23:24:14  No: 62136

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


yukika  2006-06-11 06:36:38  No: 62137

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 09:10:38  No: 62138

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加