这似乎我向那些已经知道的人提出了一个愚蠢的问题。 您是否注意到将这些设置值常量找到您刚刚开始学习的某些MFC控件的属性是多么困难。如果我可以去一些知识或因为信息太大而无法放入书本,然后是一个网站,您可以深入了解您想要的控件和方法或属性,那不是很好吗查找可以接受的设置常数......
例如,我正在CListCtrl
上使用CDialog
(如果需要,甚至可以CDialogEx
),我想设置Verticle&此控件的水平线(或网格线)。你会想我会找到一个例子。到目前为止我还没有。另一个是CListCtrl
列格式。我发现LVCFMT_LEFT
,但我正在寻找类似" LVCFMT_CENTER
"那不是。所以我只是梳理互联网,看看我是否可以从CListCtrl
的其他问题的某些人的问题中瞥见我的回答。
如果有人可以指导我完成我的任务,我将不胜感激。
Maddog
答案 0 :(得分:0)
你看到https://msdn.microsoft.com/en-us/library/hfshke78.aspx了吗?
要显示网格线,您需要设置扩展样式LVS_EX_GRIDLINES
。您通过拨打SetExtendedStyle
来执行此操作。
auto exstyles = m_myListCtrl.GetExtendedStyle();
exstyles |= LVS_EX_HEADERDRAGDROP;
m_myListCtrl.SetExtendedStyle(exstyles);
对于LVCFMT_CENTER
,它确实有效,但不在第一列。请参阅MSDN中的评论:
如果将列添加到索引为0的列表视图控件(最左边的列) 列),它始终是LVCFMT_LEFT。在第0列上设置其他标志 不会覆盖该对齐方式。因此,如果你继续插入 索引为0的列,所有列中的文本都是左对齐的。如果你 希望第一列是右对齐或居中,你可以做一个 虚拟列,然后插入一个或多个索引为1或更高的列 并指定所需的对齐方式。最后删除假人 列。