我可以在列表框控件中使用win32 C复选框吗?

时间:2016-02-29 15:59:32

标签: c windows winapi

我有以下对话框:

IDD_REMINDERS DIALOGEX 20, 20, 102, 166
STYLE DS_SETFONT | WS_POPUP | WS_SYSMENU | WS_THICKFRAME
FONT 7, "Small Fonts", 0, 0, 0x0
BEGIN
    LISTBOX         IDC_REMINDERS_LIST, 1,12,100,152, LBS_OWNERDRAWVARIABLE | LBS_HASSTRINGS | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "×",IDC_CLOSE,90,-1,12,11,WS_GROUP | NOT WS_TABSTOP
    LTEXT           "...", IDC_REMINDERS_CAP, 1,1,75,8
    PUSHBUTTON      "+", IDC_REMINDERS_NEW, 78,-1,12,11, WS_GROUP | NOT WS_TABSTOP
END

在此对话框中,我想在右侧显示复选框。

我的印象是调用以下代码应该在列表框中添加复选框:

ListView_SetExtendedListViewStyleEx(hWndListView, LVS_EX_CHECKBOXES, LVS_EX_CHECKBOXES); 

尽管如此,我现在怀疑我可能会混淆列表框和列表视图。无论哪种方式,我在listview上尝试使用RC中的以下代码进行相同的ListView_SetExtended调用:

CONTROL         "",IDC_KEYS,"SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDRAWFIXED | LVS_OWNERDATA | LVS_NOCOLUMNHEADER | WS_TABSTOP,4,64,250,136

可悲的是,此列表视图也拒绝显示复选框。

列表框中是否可以有复选框? (没有继续进行并自己绘制。短期内可以正常工作,但就长期操作系统兼容性而言似乎更麻烦。)

如果列表框设置为“所有者绘制”,这可以工作吗? (由于自定义文字着色,我正在使用它。)

0 个答案:

没有答案
相关问题