动态创建的控件在那里处理Change事件?
editex.Create(WS_VISIBLE|WS_BORDER|ES_AUTOHSCROLL,rc,pWnd,IDC_EDITEX);我派生一个CEditex类在里面处理Change事件也不进啊~!
editex.Create(WS_VISIBLE|WS_BORDER|ES_AUTOHSCROLL,rc,pWnd,IDC_EDITEX);我派生一个CEditex类在里面处理Change事件也不进啊~!
有了ID就可以响应消息函数
根据创建时的ID响应消息 。
先在资源中放置一个同名 (ID) 控件,添加其消息响应函数。然后在资源中删除之,但要在
Resource.h 中保留其 ID 宏。最后再用这个 ID 动态创建控件就可以了。
我用这个把Static关掉了,然后动态的建立1个Edit
HWND Static=FindWindowEx(m_hDialogBox,NULL,"Static",NULL);
然后要处理这个Edit的输入,有什么好办法?
如
BEGIN_MESSAGE_MAP(CSettingWnd, CResizableDialogBar)
//{{AFX_MSG_MAP(CSettingWnd)
ON_EN_CHANGE(IDC_YTOPVALUE, OnYTopValue)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
.h中
//{{AFX_MSG(CSettingWnd)
afx_msg void OnYTopValue();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()IDC_YTOPVALUE就是button ID
派生类Change函数可以进,用消息映射也是好的~