0

編集:誰かが以前に win32 でこれを試した場合、DrawThemeBackground() を使用して正しい方向に進んでいますか?

私は最近、バージョン 6 の ComCtl32.dll のマニフェストを使用して Visual Styles を有効にしました。Win32 の視覚スタイルの例:視覚スタイル

ボタンは見栄えがしますが、ボタンの周りの背景を透明にする方法がわかりません。サンプル画像をご覧ください: http://www.freeimagehosting.net/image.php?2bdeff33ba.jpg

私のメインウィンドウの背景色は、次のように濃い灰色に設定されています。

a.hbrBackground = GetStockObject(DKGRAY_BRUSH);

共通コントロールは次のように初期化されます。

INITCOMMONCONTROLSEX stylesStruct;
stylesStruct.dwSize = sizeof(stylesStruct);
stylesStruct.dwICC = ICC_STANDARD_CLASSES;
InitCommonControlsEx(&stylesStruct);

そして、ボタン ウィンドウを次のように作成します。

j = CreateWindow(L"BUTTON", L"hello",
    WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 100, 100,
    100, 100, h, 0, hInst, 0);

ボタンは白い背景の上ではきれいに見えますが、境界線は他のものの上に表示されます。ボタンの枠線を透明にすることはできますか?

4

1 に答える 1

1

試しましたWS_EX_TRANSPARENTか?

Visual Studio のリソース エディターを使用している場合は、リソース エディターで設定できると思います。

于 2009-05-12T03:25:55.920 に答える