C++ PS中 .r文件编写界面加入的图片和图标时,需要切换图标显示状态

老师好,我用.r文件画了几个5个按钮,停靠在PS属性栏下方。

我想实现选中某按钮后会出现蓝色边框来区别选中后的状态,类似于下图的钢筋选择按钮,选中后有一个蓝色边框标识,请大佬指教如何实现

DialogBoxRsc DIALOGID_LEVELPalette =
{

#if defined (MSVERSION) && (MSVERSION >= 0x550)
DIALOGATTR_TOOLBOXCOMMON,
#else
DIALOGATTR_DEFAULT | DIALOGATTR_NORIGHTICONS | DIALOGATTR_AUTOOPEN,
#endif
XC, YC, NOHELP, LHELPCMD, HOOKID_DialogDemo, NOPARENTID, TXT_Frame,
{
#if defined (MSVERSION) && (MSVERSION >= 0x550)
{{0, 0, 0, 0}, ToolBox, ICONCMDFRAMEID_DialogDemo, ON, 0, "", ""},
#else
{{0, 0, 0, 0}, IconCmdFrame, ICONCMDFRAMEID_DialogDemo, ON, 0, "", ""},
#endif
}
};


#if defined (MSVERSION) && (MSVERSION >= 0x550)
DItem_ToolBoxRsc ICONCMDFRAMEID_DialogDemo =
{
NOHELP, LHELPCMD, NOHOOK, NOARG, 0, "",
{
{{ 0, 0, 0, 0}, IconCmd, ICONCMDID_DialogDemo1, ON, 0, "", "owner=\"LEVELTOOLS\""},
{{ 0, 0, 0, 0}, IconCmd, ICONCMDID_DialogDemo2, ON, 0, "", "owner=\"LEVELTOOLS\""},
{{ 0, 0, 0, 0}, IconCmd, ICONCMDID_DialogDemo3, ON, 0, "", "owner=\"LEVELTOOLS\""},
{{ 0, 0, 0, 0}, IconCmd, ICONCMDID_DialogDemo4, ON, 0, "", "owner=\"LEVELTOOLS\""},
{{ 0, 0, 0, 0}, IconCmd, ICONCMDID_DialogDemo5, ON, 0, "", "owner=\"LEVELTOOLS\""},
}
};
#else
DItem_IconCmdFrameRsc ICONCMDFRAMEID_DialogDemo =
{
2, 3, NOHELP, LHELPCMD, NOHOOK,"",
{
{IconCmd, ICONCMDID_DialogDemo1},
{IconCmd, ICONCMDID_DialogDemo2},
{IconCmd, ICONCMDID_DialogDemo3},
{IconCmd, ICONCMDID_DialogDemo4},
{IconCmd, ICONCMDID_DialogDemo5},
}
};
#endif

DItem_IconCmdRsc ICONCMDID_DialogDemo1 =
{
NOHELP, OHELPTASKIDCMD, 0, CMD_MAINREBAR_LEVEL, OTASKID , "1", ""
#if defined (MSVERSION) && (MSVERSION >= 0x550)
}
extendedAttributes
{{
{EXTATTR_FLYTEXT, TXT_Flyover_DialogDemo1},
{EXTATTR_BALLOON, TXT_Balloon_DialogDemo1},
}
#endif
};


IconCmdSmallRsc ICONCMDID_DialogDemo1 =
{
23, 23, FORMAT_MONOBITMAP, BLACK_INDEX, "",
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x02, 0x02,
0x04, 0x02, 0x00, 0x10, 0x02, 0x3c, 0x40, 0x01,
0xce, 0x00, 0x06, 0x06, 0x00, 0x08, 0x04, 0x01,
0xd0, 0x0b, 0x80, 0x30, 0x30, 0x00, 0x30, 0xc0,
0x00, 0x33, 0x00, 0x02, 0x24, 0x40, 0x08, 0x78,
0x40, 0x20, 0x90, 0x40, 0x01, 0xe0, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
}
};

IconCmdLargeRsc ICONCMDID_DialogDemo1 =
{
31, 31, FORMAT_MONOBITMAP, BLACK_INDEX, "",
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01,
0x01, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0x01,
0x1f, 0x88, 0x00, 0x00, 0x61, 0x80, 0x00, 0x01,
0x81, 0x80, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf4,
0x02, 0xe0, 0x00, 0x08, 0x04, 0x00, 0x00, 0x18,
0x18, 0x00, 0x00, 0x18, 0x60, 0x00, 0x01, 0x19,
0x88, 0x00, 0x04, 0x12, 0x08, 0x00, 0x10, 0x24,
0x08, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x90,
0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x01, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
}
};


DItem_IconCmdRsc ICONCMDID_DialogDemoPal1Sub1 =
{
NOHELP, OHELPTASKIDCMD, 0, NOCMD, OTASKID , "", ""
#if defined (MSVERSION) && (MSVERSION >= 0x550)
}
extendedAttributes
{{
{EXTATTR_FLYTEXT, TXT_Flyover_DialogDemoPal1Sub1},
{EXTATTR_BALLOON, TXT_Balloon_DialogDemoPal1Sub1},
}
#endif
};

IconCmdSmallRsc ICONCMDID_DialogDemoPal1Sub1 =
{
23, 23, FORMAT_MONOBITMAP, BLACK_INDEX,
"Pal 1 Sub 1 SM",
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x40, 0x10, 0x00, 0x80, 0x20, 0x01, 0x00,
0x40, 0x02, 0x00, 0x80, 0x04, 0x01, 0x00, 0x08,
0x02, 0x00, 0x10, 0x04, 0x00, 0x20, 0x08, 0x00,
0x40, 0x10, 0x00, 0x80, 0x20, 0x01, 0x00, 0x40,
0x02, 0x00, 0x80, 0x04, 0x01, 0x00, 0x08, 0x02,
0x00, 0x10, 0x04, 0x00, 0x20, 0x08, 0x00, 0x40,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
}
};

IconCmdLargeRsc ICONCMDID_DialogDemoPal1Sub1 =
{
31, 31, FORMAT_MONOBITMAP, BLACK_INDEX,
"Pal 1 Sub 1 LG",
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x3c, 0x00,
0x5c, 0x00, 0xb8, 0x00, 0xb8, 0x01, 0x70, 0x02,
0x70, 0x04, 0xe0, 0x08, 0xe0, 0x11, 0xc0, 0x01,
0xc0, 0x03, 0x80, 0x03, 0x80, 0x07, 0x00, 0x07,
0x00, 0x0e, 0x00, 0x0e, 0x00, 0x1c, 0x00, 0x1c,
0x00, 0x38, 0x00, 0x38, 0x00, 0x70, 0x00, 0x70,
0x00, 0xe0, 0x00, 0xe0, 0x01, 0xc0, 0x01, 0xc0,
0x03, 0x80, 0x03, 0x80, 0x07, 0x00, 0x07, 0x00,
0x0e, 0x00, 0x0e, 0x00, 0x1c, 0x00, 0x1c, 0x00,
0x38, 0x00, 0x38, 0x00, 0x70, 0x00, 0x70, 0x00,
0xe0, 0x00, 0xe0, 0x01, 0xc0, 0x01, 0xc0, 0x03,
0x80, 0x03, 0x80, 0x07, 0x00, 0x07, 0x00, 0x0e,
0x00, 0x0e, 0x00, 0x1c, 0x01, 0xff, 0xc1, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00,
}
};

Parents Reply
  • 这是用的一种叫做ButtonGroup的item类型。举例如下:

    DItem_ButtonGroupRsc BGROUPID_MethodIcons =
        {
        NOSYNONYM, NOHELP, MHELP,
        HOOKITEMID_MethodType, NOARG,
        DIALOGATTR_MOTIONTOITEMS, 5, 1, 0, 0, WHITE_INDEX,
        TXT_PSelectMethodLabel,
        "powerSelectInfo.prefs.currSelBy",
    {
    {Icon, ICONID_SelectSingle,     CMD_POWERSELECTOR_SINGLE,       LCMD, SELBY_individual, NOMASK, 0, 0, TXT_Flyover_PSelectIndividual},
    {Icon, ICONID_SelectBlock,      CMD_POWERSELECTOR_AREA_BLOCK,   LCMD, SELBY_rectangle,  NOMASK, 0, 0, TXT_Flyover_PSelectRectangle},
    {Icon, ICONID_SelectShape,      CMD_POWERSELECTOR_AREA_SHAPE,   LCMD, SELBY_shape,      NOMASK, 0, 0, TXT_Flyover_PSelectShape},
    {Icon, ICONID_SelectCircle,     CMD_POWERSELECTOR_AREA_CIRCLE,  LCMD, SELBY_circle,     NOMASK, 0, 0, TXT_Flyover_PSelectCircle},
    {Icon, ICONID_SelectLine,       CMD_POWERSELECTOR_LINE,         LCMD, SELBY_line,       NOMASK, 0, 0, TXT_Flyover_PSelectLine},
    }
        };



Children