情况是这样的,有两个对话框,想在Dialog1中获取Dialog2里面按钮的状态,是否可用1、获取按钮句柄:HWND hwnd1 = (HWND)FindWindow(NULL,"Dialog2");
2、if(GetDlgItem(IDC_BTN,&hwnd1)->IsWindowEnabled()==TRUE){}各位高手帮帮忙,这种办法肯定不行了,,具体点哈
2、if(GetDlgItem(IDC_BTN,&hwnd1)->IsWindowEnabled()==TRUE){}各位高手帮帮忙,这种办法肯定不行了,,具体点哈
if(hWnd)
{
HWND hButton = ::FindWindowEx(hWnd, NULL, _T("Button"), _T("OK"));
if(hButton)
{
BOOL bRet = ::IsWindowEnabled(hButton);
AfxMessageBox(bRet ? _T("Enable" : "Disable"));
}
}
我在Dialog1中添加了一个按钮,然后把你刚给的那段代码放在这个按钮的消息响应函数中了,运行后点击按钮没有反应。。
HWND hWnd = ::FindWindow(NULL,"Dialog2");
if(hWnd)
{
HWND hButton = ::FindWindowEx(hWnd,NULL,NULL,"button1");
if(hButton)
{
BOOL ret = ::IsWindowEnabled(hButton);
AfxMessageBox(ret ? "Enabled" : "Diabled");
}
}
debug调试了一下,hWnd是空的,找不出理由为什么是空的