2012年1月21日土曜日

グループボックス内のラジオボタン背景(Win)

Windows7なら、問題にならないがXPの場合だと
グループボックスを親にして、ラジオボタンを子の関係に配置すると、ラジオボタンの背景が真っ黒につぶれてしまう。


グループボックスとラジオボタンを兄弟関係にしてやれば解決する。
グループボックスには WS_CLIPSIBLINGS を指定してやる。
    hGroup = CreateWindowEx(
        0,
        "BUTTON",
        "GroupBox",
        WS_CHILD | WS_VISIBLE | BS_GROUPBOX | WS_CLIPSIBLINGS,
        GroupX, GroupY GroupW, GroupH,
        hParent,
        (HMENU)GroupID,
        NULL,
        NULL);
   
    hRadio = CreateWindowEx(
        0,
        "BUTTON",
        "RadioButton",
        WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
        RadioX, RadioY, RadioW, RadioH,
        hParent,
        (HMENU)RadioID,
        NULL,
        NULL);
おなじ hParent を親にしているので、
グループボックスとラジオボタンは兄弟関係となっている。

0 件のコメント:

コメントを投稿