阅读:2017回复:10
关于对话框和SERVICE_STATUS的一点问题(VC)。知道的请帮下忙
生成对话框后。如果在资源里删除掉OK和CANCEL按纽,对话框就没有办法关闭。大家又什么办法让右上角的那个关闭启作用?在SDK下又该如何?我写了
case WM_CLOSE: EndDialog(hDlg, result); return TRUE; case WM_DESTROY: EndDialog(hDlg, result); return TRUE; case WM_QUIT: EndDialog(hDlg, result); return TRUE; 但是都没用。。 还有就是定义SERVICE_STATUS ServiceStatus;的问题 在console下都可以成功编译。(只要包含了windows.h) 但是使用了MFC以后。竟然不管怎么加#include <windows.h>都出现编译错误。 说SERVICE_STATUS是没定义的标志符。(undeclared identifier) 真见鬼了!! |
|
沙发#
发布于:2005-02-24 17:16
我说的是把OK和CANCEL按扭删掉以后啦!
可能我说的不是很清楚了。。 |
|
板凳#
发布于:2005-03-12 12:11
右上角的最小化,最大化,关闭按钮不是有效吗
说的太对了。。就是这三个按纽通通没用啊!!!! 完全不起做用了。。完整代码如下 #include <windows.h> #include\"resource.h\" INT_PTR CALLBACK DlgProc1(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow) { MSG msg; DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL,(DLGPROC)DlgProc1); while (GetMessage (&msg, NULL, 0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (0); } INT_PTR CALLBACK DlgProc1(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { LRESULT result=0; switch(message) { case WM_SYSCOMMAND: switch(wParam) { case SC_CLOSE: EndDialog(hDlg, result); return TRUE; } return TRUE; case WM_CLOSE: EndDialog(hDlg, result); return TRUE; case WM_DESTROY: EndDialog(hDlg, result); return TRUE; case WM_QUIT: EndDialog(hDlg, result); return TRUE; case WM_COMMAND: switch( wParam) { case IDOK: EndDialog(hDlg, result); return TRUE; } break; default: return DefWindowProc(hDlg,message,wParam,lParam ); } return FALSE; } |
|
地板#
发布于:2005-03-12 15:07
明白了。
关闭按纽是 case IDCANCEL: 呵呵。。 谢谢大家 |
|