OnKeyDown()...... 我现在做一个东西,基于单文档应用程序,当鼠标双击时,生成一个CEdit对象,并设置焦点输入文本,然后单击关闭输入框,但是当关闭之后,程序就不再响应OnKeyDown()函数,望高手指点,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当文本关闭后,其焦点必然也失去了;所以要想响应一个onkeydown()你必须先获得焦点。 对呀对呀,我就是要焦点,SetFocu()不管用啊!!,能不能具体实现一点,简单点说,就是象Excel那样输入文字,各位帮帮忙 阿 ! 给你一部分可以参考的代码,其他的自己琢磨琢磨:// m_pEditControl and m_pEditString is data membersvoid CXXXView::BeginEditText(CString &text, const CRect &rect, CFont *pRefFont, DWORD dwStyle) { ASSERT(m_pEditControl == NULL); m_pEditControl = new CEdit(); m_pEditString = &text; m_pEditControl->Create( WS_VISIBLE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | dwStyle, rect, this, 1); m_pEditControl->SetFont(YOURFONT); m_pEditControl->SetWindowText(text); m_pEditControl->SetSel(0, -1); m_pEditControl->SetFocus();}void CXXXView::EndEditText() { if(m_pEditControl != NULL) { m_pEditControl->GetWindowText(*m_pEditString); delete m_pEditControl; m_pEditControl = NULL; // Document里面数据发生变化; }} 人手的图像识别,请教? 大哥们,谁看过了《深入浅出MFC》?谈谈心得吧 调试vc程序过程中不能显示CString的内容 请问一个关于ado调用存储过程返回值的问题 如何将word和其他格式的文档转换成txt文本? 求教一个问题…… 请问:操作系统函数是什么?是不是API函数?谢谢! 怎么用TRACE,怎样才能看到想知道的变量呢 访问远程数据库 USB打印机WriteFile失败 怎样截取桌面上指定区域的位图 用ADO能否在VC++中创建表,后台的数据库是SQL SERVER?急!急!急
你必须先获得焦点。
// m_pEditControl and m_pEditString is data members
void CXXXView::BeginEditText(CString &text, const CRect &rect, CFont *pRefFont, DWORD dwStyle) {
ASSERT(m_pEditControl == NULL); m_pEditControl = new CEdit();
m_pEditString = &text; m_pEditControl->Create(
WS_VISIBLE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | dwStyle,
rect, this, 1);
m_pEditControl->SetFont(YOURFONT);
m_pEditControl->SetWindowText(text);
m_pEditControl->SetSel(0, -1);
m_pEditControl->SetFocus();
}void CXXXView::EndEditText() {
if(m_pEditControl != NULL) {
m_pEditControl->GetWindowText(*m_pEditString);
delete m_pEditControl;
m_pEditControl = NULL;
// Document里面数据发生变化;
}
}