makefriend8
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2014-06-27
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望111点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:2017回复:10

关于对话框和SERVICE_STATUS的一点问题(VC)。知道的请帮下忙

楼主#
更多 发布于:2005-02-24 13:57
生成对话框后。如果在资源里删除掉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)
真见鬼了!!
makefriend8
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2014-06-27
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望111点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-24 17:16
我说的是把OK和CANCEL按扭删掉以后啦!

可能我说的不是很清楚了。。
makefriend8
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2014-06-27
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望111点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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;
}
makefriend8
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2014-06-27
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望111点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-12 15:07
明白了。

关闭按纽是
case IDCANCEL:

呵呵。。

谢谢大家
游客

返回顶部