游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1249|回复: 1

学VC SDK 中的问题,会者进,嘻嘻

[复制链接]

16

主题

115

帖子

120

积分

注册会员

Rank: 2

积分
120
QQ
发表于 2005-1-2 23:09:00 | 显示全部楼层 |阅读模式
我用wndclass.lpszMenuName  = MAKEINTRESOURCE(IDR_MENU1) ;载入资原文件中的菜单,没有错,

但响应菜单的switch (LOWORD(wParam));事件有错,

我不管点菜单的那一项,它总是运行PostQuitMessage(0);事件,
而不运行MessageBox(NULL,"title","hehe2",NULL);呢,?????
--------------------------------------
#include<windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static TCHAR szAppName[] = TEXT ("chap231") ;
     HWND         hwnd ;
     MSG          msg ;
     WNDCLASS     wndclass ;

     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1))  ;
     wndclass.hCursor       = LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR1)) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (LTGRAY_BRUSH);
     wndclass.lpszMenuName  = MAKEINTRESOURCE(IDR_MENU1) ;
     wndclass.lpszClassName = szAppName ;

     if (!RegisterClass (&wndclass))
          return 0 ;
        
     hwnd = CreateWindow (szAppName,                  
                          TEXT ("Wang Jingwei") ,  
                          WS_OVERLAPPEDWINDOW,         
                          CW_USEDEFAULT,               
                          CW_USEDEFAULT,               
                          CW_USEDEFAULT,               
                          CW_USEDEFAULT,               
                          NULL,                       
                          NULL,                       
                          hInstance,                  
                          NULL) ;   
         
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;


     while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{

     switch (message)
     {         
        case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
        case WM_COMMAND:
                {
                        switch (LOWORD(wParam));
                        {
                        case ID_MENUITEM40001:
                     {
                     PostQuitMessage(0);
                     } break;
                        case ID_MENUITEM40002:
                                {MessageBox(NULL,"title","hehe2",NULL);
                                }break;
                        }

                }
                return 0;

    case WM_CLOSE:
                PostQuitMessage(0);
          return 0;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20686
发表于 2005-1-2 23:20:00 | 显示全部楼层

Re:学VC SDK 中的问题,会者进,嘻嘻

这行
switch (LOWORD(wParam));

你是不是在末尾多加了一个分号?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 23:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表