【发布时间】:2013-07-08 07:15:18
【问题描述】:
我有一个服务器/客户端应用程序。服务器为每个客户端提供按钮。连接客户端后,按钮变为启用状态,您可以单击该按钮。单击该按钮时,会出现一个新窗口,显示该特定客户端的信息,例如 IP 地址、端口号等。
现在,我想要的是,一旦客户端出现故障或处于活动状态,我就可以禁用按钮。当客户端再次连接时,该按钮必须再次启用才能被用户点击。
有什么方法可以实现这个功能吗?欢迎任何帮助/建议。
编辑:
我试过EnableWindow 但我得到Run time check failure #3 variable used without being initialized 错误。
下面是sn-p的代码:
HWND hWndButton[10];
case WM_CREATE:
{
SetTimer(hwnd,IDT_TIMER1,10000, NULL);
for(int i=0;i<=9;i++)
{
hWndButton[i] = CreateWindowEx(NULL,"BUTTON",buttonCaption,WS_TABSTOP|WS_VISIBLE|WS_CHILD|BS_DEFPUSHBUTTON,
30*i,30,70,20,hwnd, (HMENU)buttonNumber,GetModuleHandle(NULL),NULL);
}
}
break;
case WM_TIMER:
switch(wParam)
{
case IDT_TIMER1:
{
EnableWindow(hWndButton[8],FALSE);
}
break;
}
break;
【问题讨论】:
-
你有没有试过任何代码?
-
"我已经尝试过 EnableWindow,但我得到了
Run time check failure #3 variable used without being initialized错误。"那么...您是否初始化了变量?错误消息告诉您出了什么问题。 -
错误是针对 HWND hWndButton[10],在 orogram 开始时声明,并在调用 WM_CREATE 时初始化其 get。而且我从未在我的许多代码中初始化 HWND,没有它,代码也能正常工作。
标签: c windows visual-studio-2010 winapi button