vc中的文本框默认情况下是没有click事件的
现在我想要这个事件处理一些事,该怎么办?
麻烦叙述详细一点
现在我想要这个事件处理一些事,该怎么办?
麻烦叙述详细一点
解决方案 »
- 求教!利用GDI+怎样把字符串旋转90度显示
- CBCGPPropList中slider控件的问题
- 如何使用CreateWindow创建一个DateTimePicker控件类
- 关于双缓冲绘图的问题
- 鼠标问题,有经验的进!
- 如何捕捉驱动程序安装完后的信息?急!
- memcpy 执行拷贝数据到unsigned short类型的内存后的结果会是怎样的
- 有什么原因会使得CWnd Create失败?
- 当我取得某个窗口的HWND之后怎么让这个窗口变为活动窗口???
- 求助!
- 为什么我的事件不通?来者有分,up,gz有分
- 看过Windows98 程序设计指南(Windows 98: A Developer's Guide)的朋友进来,UP有分
如果在这个处理函数中想操作别的窗体上的控件,该怎么办?
我曾经有如下这样做过,但是不行,请看一下哪里有问题。
CAdlg(一个对话框类)其上有二个文本框(别为m_edit1,m_edit2),文本框继承了cmyedit类(cedit的扩展类),在cmyedit中的wm_lbuttondown处理函数中我写下如上程序:
CAdlg cad;
cad.m_edit1="12345";(给别的窗体上的文本框赋值)
cad.updatedata(TRUE);(在实际运行时,这里会出错。编译连接时都通过)
不知道是什么原因?
pParent->m_edit1="12345";
pParent->UpdataData(false);
我再问一下,上面cadlg窗体中的两个文本框m_edit1和m_edit2,
它们俩的wm_lbuttondown事件是同一个处理程序,
在cmyedit.cpp中的处理程序中怎么判断wm_lbuttondown消息是来自
m_edit1还是m_edit2 ? 因为我想要不同的文本框的消息处理不同的事,
该怎么办呢?
BOOL CYourDialog::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_LBUTTONDOWN)
{
if(GetDlgItem(IDC_EDIT1)->m_hWnd==pMsg->hwnd)
MessageBox("you click IDC_EDIT1");
if(GetDlgItem(IDC_EDIT2)->m_hWnd==pMsg->hwnd)
MessageBox("you click IDC_EDIT2");
//....
}
return CDialog::PreTranslateMessage(pMsg);
}