C++ List Control默认某行高亮显示

我创建了一个MFC基于对话框的程序,其中有一个ListControl,已经对其设置了可以整行选择和高亮显示,但是只有在点击ListControl之后才会有反应,我想让打开... 我创建了一个MFC基于对话框的程序,其中有一个List Control,已经对其设置了可以整行选择和高亮显示,但是只有在点击List Control之后才会有反应,我想让打开这个对话框是就让它默认第0行是高亮显示的,可以吗?
我今天试了一下,还是不可以,序号本来我设的就是0
我的这个程序是将主窗体分割了,然后这个List Control是在其中一个上的,是不是这个原因,所以句柄不在这里啊?
那个,我用的是对话框....将屏幕分成了左,右上和右下三部分,这里所要解决的是在右下部分。我是在主对话框的初始化函数的最后设置的高亮,已经写了控件获得焦点的语句了,用的是GetFocus(没记错的话)。这和我对这三部分的加载顺序有关吗?谢谢了
展开
 我来答
silvergingko
推荐于2016-05-02 · TA获得超过5945个赞
知道小有建树答主
回答量:688
采纳率:0%
帮助的人:869万
展开全部
m_list.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);

如果是在OnInitDialog中设置,注意它的TAB序号是0。否则,状态设置无效。
------------------------------------------------------
你是说你使用了切分窗口?

请把程序细节尽量说明清楚,尤其是什么样的窗口。是SDI?MDI?DIALOG?
如果是SDI,并且使用了切分窗口,则在OnCreateClient中切分完窗口后,调用:
m_splitter.SetActivePane(0, 1);
将有ListView的这个窗口设为活动窗口。

有个思想需要遵循:
要让ListCtrl默认高亮,首先ListCtrl必须要获得焦点,ListCtrl离开了焦点后,不会再高亮!一开始我以为你用的是简单的DIALOG,加入了ListCtrl控件。因此,建议将TAB序列设为0,其思想也是必须让ListCtrl获得焦点。然后才能设置高亮状态。

另外,编辑框有个可选的风格,即即使编辑框控件失去焦点,其中的内容还是可以被设为高亮。默认和ListCtrl行为一样,一旦失去焦点,选中内容就不再高亮。楼主可以查下MSDN关于ListCtrl的说明,针对控件风格查一下有没有可以设置离开焦点仍旧可以高亮的说明。
---------------------------------------
你没有程序运行界面的图片,也没有贴任何代码,只能期望你把程序模块描述的细节尽量表述清楚一些。
看了你的补充说明,真的是要“雷”死人。

对话框就是对话框了,怎么理解把“屏幕分成了三部分”,就算理解为把对话框分成了三部分也不通。究竟是什么样的界面?还居然出现了“对三部分加载顺序”这样的说法,实在无法理解!
能不能用稍微专业一点的话来描述问题,或者贴个程序运行的界面图也行。
777999666qhw
2009-11-24 · TA获得超过4871个赞
知道大有可为答主
回答量:5615
采纳率:25%
帮助的人:4658万
展开全部
在OninitDialog中设置了,或者其他初始化的函数中都可以的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宝毅登洁玉
2019-09-06 · TA获得超过1187个赞
知道小有建树答主
回答量:1833
采纳率:92%
帮助的人:8.4万
展开全部
vim
~/.vimrc
输入这些命令:
set
cindent
set
tabstop=4
set
shiftwidth=4
syntax
on
然后:wq保存退出,其中最后一条syntax
on表示显示颜色的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式