在一个文本框中输入内容,回车后,在一个clistctrl中列出了相应的内容。
我想此时让clistctrl的第一行处于选中状态,移动键盘上下键选中的行上下移动。
我用这段代码选中后,需要点击两次向下的键选中的行才会移动,这是什么原因?
m_drug_list.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
m_drug_list.EnsureVisible(0,false);
m_drug_list.SetFocus();
我想此时让clistctrl的第一行处于选中状态,移动键盘上下键选中的行上下移动。
我用这段代码选中后,需要点击两次向下的键选中的行才会移动,这是什么原因?
m_drug_list.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
m_drug_list.EnsureVisible(0,false);
m_drug_list.SetFocus();
解决方案 »
- 请问在VS2008中,如何改变线程的优先级?
- 【请教】使用《徐景周读写Excel表格》方法出现单引号的问题??
- 怎样取消 using namespace
- BHO对像已经在IE的加载项管理器中显示为"启用",但就是不工作,这是什么原因?
- 极菜的文件问题 在线等,急急急!!!
- 各位高手帮我看看这个问题呀,我也很急的!!! 在此谢过了!
- 面对家庭工作压力,如何选择
- 哪位高手知道关于IConnectionPont::Advise()函数调用失败的原因?
- 直接对物理硬盘进行操作
- 再发C#/Windows中有没有类似UNIX的signal处理机制?
- 急。。菜鸟MFC问题
- 请问父窗口由非激活变成激活状态会向子窗口发送消息吗
m_drug_list.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
{
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN)
{
switch (::GetDlgCtrlID(pMsg->hwnd))
{
case IDC_EDIT1: //文本框控件 ID 值。
//在 clistctrl 中列出了相应的内容
... //选中第一行。
m_drug_list.SetFocus();
m_drug_list.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
return TRUE;
}
} return CDialog::PreTranslateMessage(pMsg);
}