gpt4 book ai didi

c++ - 我的 CListCtrl 中的选定项目显示省略号,尽管有足够的空间!

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:36 25 4
gpt4 key购买 nike

我有一个 CListCtrl,它有足够的空间容纳所有项目,并且它们都正确显示 --- 直到被选中!一旦选择了任何条目,该条目的末尾就会被截断并添加一个省略号:

Click for Image

我不知道为什么会这样。您无法在此图像中看到它,但即使非常短的条目也会显示此行为,即使上方或下方的条目更长并且显示完整。这是创建控件(和对话框)的 .rc 代码:

IDD_COMBOBOX_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE |
WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "ComboBox"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,263,7,50,16
PUSHBUTTON "Cancel",IDCANCEL,263,25,50,16
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL |
LVS_SORTASCENDING | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER |
WS_TABSTOP,7,78,306,85
END

下面是 InitDialog() 中设置和填充 CListCtrl 的代码:

myListCtrl.InsertColumn(0,_T("Allergies"));
FILE *f = fopen("c:\\allergies.txt", "r");
char sz[100];
if (f)
while (fgets(sz,100,f))
myListCtrl.InsertItem(0, sz);
if (f)
fclose(f);
myListCtrl.SetColumnWidth(0,LVSCW_AUTOSIZE);
LVFINDINFO FI;
FI.flags = LVFI_PARTIAL|LVFI_STRING;
FI.psz = _T("A");
int i = myListCtrl.FindItem(&FI);
myListCtrl.SetItemState(i, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
myListCtrl.EnsureVisible(i, FALSE);

这个让我真的很疯狂。任何提示将不胜感激!感谢您的观看。

最佳答案

我会尝试添加

myListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);

在 InsertColumn 行之前看看是否有帮助。

关于c++ - 我的 CListCtrl 中的选定项目显示省略号,尽管有足够的空间!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1309432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com