关于接受键盘输入(keyboard input)的问题
我有这样一个问题:
在我的应用程序里,新开了一个线程,线程函数调用一个DLL中的函数去显现一个对话框。
在这种情况下,显现出的对话框不能接受键盘输入(keyboard input),由于DLL中没有函数能够
提供对话框的句柄,那么我应该怎样使刚显现出的对话框能接受键盘输入(keyboard input)?
整个过程都是在windows环境下。
谢谢!
问题点数:0、回复次数:3Top
1 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2005-04-04 23:44:07 得分 0
如果你的对话框是这样创建的:
DialogBox(g_hInstance, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)AboutProc);
在AboutProc响应.
函数原型
LRESULT CALLBACK AboutProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_***:
return TRUE;
}
return FALSE;
}
Top
2 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2005-04-04 23:45:11 得分 0
注意:hWnd别搞错了Top
3 楼gfover(我思我在)回复于 2005-04-05 09:59:09 得分 0
不是的,在DLL中,定义了一个类class CMPlusUMMsgBox : public CDialog
new出CMPlusUMMsgBox对象后,设置他的一些属性,
如:
aMsgBox->m_csCaption = lpCaption;
aMsgBox->m_Text = lpText;
aMsgBox->m_uType = uType;
aMsgBox->m_lPosX = m_lPosX;
aMsgBox->m_lPosY = m_lPosY;
aMsgBox是CMPlusUMMsgBox对象指针.
然后调用aMsgBox->DoModal();
我就不明白为什么这样显现出Dialog是灰色的(不能接受键盘输入).Top




