为什么我的CEdit不能movewindow到指定的subitem位置啊?(注:可以产生相应的编辑框,可位置不正确)
代码如下:
void RTU::OnDblclkRtulistctrl(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int m_iItem, m_iSubItem;
CRect rcSubItem;
NMITEMACTIVATE *pLSV = (NMITEMACTIVATE*)pNMHDR;
if( (pLSV->iItem != -1)&& (pLSV->iSubItem != 0) )// 命中某子项
{
m_iItem = pLSV->iItem;// 保存命中子项的位置
m_iSubItem = pLSV->iSubItem;
//m_lsvTest.EditLabel(m_iItem);
}
m_rtuListCtrl.GetSubItemRect(m_iItem, m_iSubItem, LVIR_LABEL, rcSubItem);
DWORD edStyle = WS_VISIBLE|WS_BORDER; m_edit.Create(edStyle,rcSubItem, this, 1110); m_edit.MoveWindow(rcSubItem,TRUE);
m_edit.SetFocus();
*pResult = 0;
}
代码如下:
void RTU::OnDblclkRtulistctrl(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int m_iItem, m_iSubItem;
CRect rcSubItem;
NMITEMACTIVATE *pLSV = (NMITEMACTIVATE*)pNMHDR;
if( (pLSV->iItem != -1)&& (pLSV->iSubItem != 0) )// 命中某子项
{
m_iItem = pLSV->iItem;// 保存命中子项的位置
m_iSubItem = pLSV->iSubItem;
//m_lsvTest.EditLabel(m_iItem);
}
m_rtuListCtrl.GetSubItemRect(m_iItem, m_iSubItem, LVIR_LABEL, rcSubItem);
DWORD edStyle = WS_VISIBLE|WS_BORDER; m_edit.Create(edStyle,rcSubItem, this, 1110); m_edit.MoveWindow(rcSubItem,TRUE);
m_edit.SetFocus();
*pResult = 0;
}
解决方案 »
- 什么API函数可以知道当前windows是中文、英文、阿拉伯语、日语还是韩国语?
- 怎样判断注册表中某个键是否存在??
- Sniffer Por抓到的数据包是什么格式的啊?
- 怎样制作一个透明悬浮窗,类似于FlashGet?
- 请成都的兄弟来聊聊
- 利用CArchive::Flush不停发图片 运行一段时间出现程序卡死的现象
- 我对控件的一面之词
- 各位能否推荐一本较好的ATL的中文电子书籍?希望能给出网址!
- 我在D版中看到VC++6.0中文版是一张盘还带语言帮助,不知是不是真的,能买吗?多谢!多谢!
- 谁能讲一下 带外数据(也称为TCP紧急数据)有什么用,怎么用?
- 在VC读写BMP图像
- 关闭对话框后,程序仍在运行,如何解决?
原来的代码是:
str = m_rtuListCtrl.GetItemText(m_iItem,m_iSubItem);
SetDlgItemText(1110,str);
顺便再解决一问题吧。同样的原理,为什么我换作CComboBox就不可以了??
代码:
DWORD dstyle = CBS_DROPDOWN|CBS_DISABLENOSCROLL;
m_combox.DestroyWindow();
m_combox.Create(dstyle,rcSubItem,&m_rtuListCtrl,1101);
str = m_rtuListCtrl.GetItemText(m_iItem,m_iSubItem);
m_combox.SetWindowText(1101,str);
m_combox.SetFocus();