建立了一个Dialog Based(Modelless)的工程,
然后动态创建一个Edit,示例代码如下:
.h文件中:
CEdit m_wndEdit;
.cpp文件中的OnInitDialog函数中:
RECT rcEdtTest = {0, 40, 50, 60};
m_edtTest.Create(m_hWnd, &rcEdtTest, NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP);
于是,当焦点在此edit上的时候,按“Enter”,对话框默认就关闭了(因为对话框收到了一个标识为IDOK的WM_COMMAND的消息),那我们把这个对话框叫“A”,其实这些都能想的通,问题来了,如下:
用编辑器在工程中,添加一个对话框资源,然后在此对话框的OnInitDialog函数中也如上办法,动态建立一个Edit,当在“A”对话框某个按钮点击的时候DoModal此对话框出来,可是当按下回车的时候,却没任何反应了,对话框也不会关闭了,这是为什么(其实“A”对话框也没收到消息)???我有尝试过,不用DoModal出来,使用Create+ShowWindow来创建非模态窗口,但是出现的问题一样。
希高人指点一二