2012-02-23 2 views
0

以下は、ダイアログベースではなく、最初から作成された正常なWin32アプリケーションの一部です。Win32のオンザフライでボタンスタイルを変更

hButtonApply = CreateWindow(
    "BUTTON", 
    "Reset", 
    WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_BOTTOM, 
    95, 130, 120, 40, 
    hWnd, (HMENU)IDC_BUTTON_RESET, hInstance, NULL); 
SendMessage(hButtonApply, BM_SETSTYLE, BS_TOP, TRUE); 

これはしかし、それをラジオボタンを作る:リソース定義のダイアログボタンコントロールの

SendMessage(hButtonApply, BM_SETSTYLE, BS_RADIOBUTTON, TRUE); 

同じではありませんトップ湖底上のテキストを、表示されます。

サブクラス化も可能です。オーナーが作成したボタンは使用できません。ありがとう、Haotianヤン

+2

あなたが何をする必要がありますか? –

答えて

0

いくつかのウィンドウスタイルは、CreateWindowの間にのみ設定することができます、私はそれらの1つかもしれないと思います。

SetWindowLongを試しましたか?

編集:

これは動作するようです:

LONG style = GetWindowLong(hBtn,GWL_STYLE); 
style = (style & ~BS_BOTTOM) | BS_TOP; 
SetWindowLong(hBtn,GWL_STYLE,style); 
+0

作品、ありがとうございます! – user1227588

関連する問題