我想在CEdit中首先设为只读,并内置一个文本:搜一搜。当点击CEdit时,在OnSetfocusEdit1()函数里,将“搜一搜”选中,并将编辑框置为可写。 m_ctrEdit1.SetSel(0,-1);
m_ctrEdit1.SetReadOnly(FALSE);但是全文选中没有效果,怎么办?
m_ctrEdit1.SetReadOnly(FALSE);但是全文选中没有效果,怎么办?
解决方案 »
- 【管理贴】To:haogeai123.您的帖子删除原因。
- VC中关于int转换到char类型的一个茫然的地方,
- 高手帮忙看下,empp.dll为什么收不到我事件呢?
- 急!读写文件发生异常
- 关于界面控件的显示顺序问题,不知道大家怎么做的。。。
- 请问如何判断点是否直线上?
- 请问有没有一种工具可以将C语言的WIN32 API声明转换为C#声明的工具?
- activex与com组件互相调用时的问题
- 请问如何格式化POST字符串?
- DLL中的字符串返回值怎么处理呀?
- C++程序需要同样一个库的动态库和静态库会发生什么事
- MFC串口程序,运行一段时间后出现“0x7c809823”指令引用的“0xfffffff7”
{
DECLARE_WND_SUPERCLASS(NULL,CEdit::GetWndClassName()) BEGIN_MSG_MAP(CMyEdit)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP() LRESULT OnSetFocus(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
SetSelAll();
SetReadOnly(FALSE);
bHandled=FALSE;
return 1;
}
};查看MSDN,如果你截获了SETFOCUS消息,你就要处理光标的显示.
所以请把光标的显示交给系统来做.
void CButtonTestDlg::OnButton2()
{
// TODO: Add your control notification handler code here
m_ctrEdit1.SetSel(0, -1);
m_ctrEdit1.SetReadOnly(FALSE);
m_ctrEdit1.SetFocus();
}