C++ List Control默认某行高亮显示
我创建了一个MFC基于对话框的程序,其中有一个ListControl,已经对其设置了可以整行选择和高亮显示,但是只有在点击ListControl之后才会有反应,我想让打开...
我创建了一个MFC基于对话框的程序,其中有一个List Control,已经对其设置了可以整行选择和高亮显示,但是只有在点击List Control之后才会有反应,我想让打开这个对话框是就让它默认第0行是高亮显示的,可以吗?
我今天试了一下,还是不可以,序号本来我设的就是0
我的这个程序是将主窗体分割了,然后这个List Control是在其中一个上的,是不是这个原因,所以句柄不在这里啊?
那个,我用的是对话框....将屏幕分成了左,右上和右下三部分,这里所要解决的是在右下部分。我是在主对话框的初始化函数的最后设置的高亮,已经写了控件获得焦点的语句了,用的是GetFocus(没记错的话)。这和我对这三部分的加载顺序有关吗?谢谢了 展开
我今天试了一下,还是不可以,序号本来我设的就是0
我的这个程序是将主窗体分割了,然后这个List Control是在其中一个上的,是不是这个原因,所以句柄不在这里啊?
那个,我用的是对话框....将屏幕分成了左,右上和右下三部分,这里所要解决的是在右下部分。我是在主对话框的初始化函数的最后设置的高亮,已经写了控件获得焦点的语句了,用的是GetFocus(没记错的话)。这和我对这三部分的加载顺序有关吗?谢谢了 展开
3个回答
展开全部
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的说明,针对控件风格查一下有没有可以设置离开焦点仍旧可以高亮的说明。
---------------------------------------
你没有程序运行界面的图片,也没有贴任何代码,只能期望你把程序模块描述的细节尽量表述清楚一些。
看了你的补充说明,真的是要“雷”死人。
对话框就是对话框了,怎么理解把“屏幕分成了三部分”,就算理解为把对话框分成了三部分也不通。究竟是什么样的界面?还居然出现了“对三部分加载顺序”这样的说法,实在无法理解!
能不能用稍微专业一点的话来描述问题,或者贴个程序运行的界面图也行。
如果是在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的说明,针对控件风格查一下有没有可以设置离开焦点仍旧可以高亮的说明。
---------------------------------------
你没有程序运行界面的图片,也没有贴任何代码,只能期望你把程序模块描述的细节尽量表述清楚一些。
看了你的补充说明,真的是要“雷”死人。
对话框就是对话框了,怎么理解把“屏幕分成了三部分”,就算理解为把对话框分成了三部分也不通。究竟是什么样的界面?还居然出现了“对三部分加载顺序”这样的说法,实在无法理解!
能不能用稍微专业一点的话来描述问题,或者贴个程序运行的界面图也行。
展开全部
在OninitDialog中设置了,或者其他初始化的函数中都可以的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vim
~/.vimrc
输入这些命令:
set
cindent
set
tabstop=4
set
shiftwidth=4
syntax
on
然后:wq保存退出,其中最后一条syntax
on表示显示颜色的意思
~/.vimrc
输入这些命令:
set
cindent
set
tabstop=4
set
shiftwidth=4
syntax
on
然后:wq保存退出,其中最后一条syntax
on表示显示颜色的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询