问题描述:
int i=0;
while(i++<10)
{
CEdit *pEdit=new CEdit(); //分配空间
pEdit->Create(ES_AUTOHSCROLL,
CRect(10+i,10+i,100,100),
this,
makeID(i)
); //创建,this是父窗体的指针
pEdit->ShowWindow(TRUE); //显示
}makeID是我自定义的产生id的函数。我希望达到的目的是动态的创建很多edit,
例如创建了 3个edit,创建时指定的id分别IDC_MYDEFINE_AA,
IDC_MYDEFINE_AA+1,IDC_MYDEFINE_AA+2,然后这么多个edit的按键事件共用一段处理代码。
怎么做?
还有,在那段代码中我如何区分是那个edit调用的这段代码?
(是否获取调用者的id即可?如果是的话,怎么获取?)谢谢!!!
int i=0;
while(i++<10)
{
CEdit *pEdit=new CEdit(); //分配空间
pEdit->Create(ES_AUTOHSCROLL,
CRect(10+i,10+i,100,100),
this,
makeID(i)
); //创建,this是父窗体的指针
pEdit->ShowWindow(TRUE); //显示
}makeID是我自定义的产生id的函数。我希望达到的目的是动态的创建很多edit,
例如创建了 3个edit,创建时指定的id分别IDC_MYDEFINE_AA,
IDC_MYDEFINE_AA+1,IDC_MYDEFINE_AA+2,然后这么多个edit的按键事件共用一段处理代码。
怎么做?
还有,在那段代码中我如何区分是那个edit调用的这段代码?
(是否获取调用者的id即可?如果是的话,怎么获取?)谢谢!!!
BOOL C***Dlg::PreTranslateMessage(MSG* pMsg)中
nId = ::GetDlgCtrlID(pMsg->hwnd);
int n = nId - IDC_MYDEFINE_AA;
n就为第几个editbox
请问怎么样让她响应消息吗?是不是也在这里处理.
判断pMsg就行了吗?
问题解决完就结贴
按ctrl+w找到这个消息
jennifergiant(孟琦) 你还能到这里来领100分吗?
同时也谢谢 guanjinke(纶巾客) 和 carbon107(<软件开发思想.h>) http://expert.csdn.net/Expert/topic/2672/2672276.xml?temp=.1906092