码迷,mamicode.com
首页 > 其他好文 > 详细

Menu

时间:2020-03-23 09:36:57      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:hwnd   hicon   patch   initial   his   chm   ret   gis   dcl   

#include "windows.h"
#include "resource.h"

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

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)        
{
    static TCHAR szAppName[] = TEXT ("HelloWin") ;   
    HWND        hwnd ;     
    MSG            msg ;     
    WNDCLASS    wndclass ;
    
    hm=CreateMenu();
    HMENU hm1=CreatePopupMenu();
    AppendMenu(hm,MF_POPUP|MF_STRING,(UINT)hm1,"File");
    AppendMenu(hm1,MF_POPUP,1001,"New");
    AppendMenu(hm1,MF_STRING,1002,"Close");
    AppendMenu(hm1,MF_STRING,1003,"Exit");

    HMENU hm2=CreatePopupMenu();
    AppendMenu(hm,MF_POPUP|MF_STRING,(UINT)hm2,"Edit");
    AppendMenu(hm2,MF_STRING,(UINT)hm2,"Copy");
    AppendMenu(hm2,MF_STRING,(UINT)hm2,"Paste");

    wndclass.style            =    CS_HREDRAW | CS_VREDRAW ;    
    wndclass.lpfnWndProc    =    WndProc ;  
    wndclass.cbClsExtra        =    0 ;
    wndclass.cbWndExtra        =    0 ;  
    wndclass.hInstance        =    hInstance ;
    wndclass.hIcon            =    LoadIcon (NULL, IDI_APPLICATION) ;    
    wndclass.hCursor        =    LoadCursor (NULL, IDC_ARROW) ;   
    wndclass.hbrBackground    =    (HBRUSH) GetStockObject (WHITE_BRUSH) ;  
    wndclass.lpszMenuName    =    NULL;
    wndclass.lpszClassName    =    szAppName ;
    if (!RegisterClass (&wndclass)) 
    {
        MessageBox (  NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR);
        return 0 ;    
    } 
    hwnd=CreateWindow(szAppName,      // window class name
        TEXT ("The Hello Program"),   // window caption
        WS_OVERLAPPEDWINDOW,  // window style
        CW_USEDEFAULT,// initial x position
        CW_USEDEFAULT,// initial y position
        CW_USEDEFAULT,// initial x size
        CW_USEDEFAULT,// initial y size
        NULL,                 // parent window handle
        hm,            // window menu handle
        hInstance,   // program instance handle
        NULL) ;      // creation parameters
    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_CREATE:    
        return 0;
    case   WM_PAINT:
        return 0 ;  
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case 1001:
            MessageBox(NULL,"New","1001",MB_OK);
            break;
        case 1002:
            MessageBox(NULL,"Close","1002",MB_OK);
            break;
        case 1003:
            MessageBox(NULL,"Exit","1003",MB_OK);
            break;
        }
        return 0;
    case   WM_DESTROY:
        PostQuitMessage (0) ;
        return 0;
    }
    return DefWindowProc (hwnd, message, wParam, lParam) ;      
}

 

Menu

标签:hwnd   hicon   patch   initial   his   chm   ret   gis   dcl   

原文地址:https://www.cnblogs.com/butchert/p/12550018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!