MFC界面中有两个编辑框,第二个编辑框中有默认值,如何让第二个编辑框在鼠标单击时清空其中的值
解决方案 »
- 菜鸟求教,如何调试activex插件啊
- WSAAsyncSelect模型,当有数据到达时,windows是用SendMessage抑或是用PostMessage来通知应用层的?
- 关于多进程访问同一个动态链接库的问题
- 如何点击按钮动态添加自定义控件
- 异常发生在HeapFree函数体中
- ploycomm 是什么?
- 备份贴.
- 使用CEvent完之后,须不须用CloseHandle关闭它的句柄?
- 请教:USES_CONVERSION是个什么东西?作用是什么?
- 关于Winsnmp API的问题,链接错误是我的lib库版本问题吗?怎么取得新的Wsnmp32.lib
- 请教图形旋转问题!
- 怎样拆分CString如000077798000拆分成777.98(急)
1。继承CEdit
2。重载单击消息
3。在单击消息中:SetWindowText("");
在此派生类中,建立单击处理函数。
然后用:你建的对象.SetWindowText("");
{
public:
CCleanEdit();
virtual ~CCleanEdit(); void OnLButtonDown(UINT nFlags, CPoint point) ;};void CCleanEdit::OnLButtonDown(UINT nFlags, CPoint point)
{
CCleanEdit cc_cleanedit;
//与编辑框关联,但是如何关联呢?? cc_cleanedit.SetWindowText("");
}那这一段代码是加入MFC工程中的含有编辑框的类的cpp文件中,还是自己读写一个文件?还请详细说明一下嘛
BOOL CMDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_LBUTTONDOWN)
{
CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
if (pMsg->hwnd==pEdit->GetSafeHwnd())
{
pEdit->SetWindowText("");
}
}
return CDialog::PreTranslateMessage(pMsg);
}另一种方法就是自己派生一个CEdit类。比如CMyEdit.在ClassWizard中给文本框添加一个CMyEdit类型的变量。VC会自动将文本框与这个类关联。然后在CMyEdit中处理WM_LBUTTONDOWN消息。