AppendMenu(hMenu, MF_STRING, IDM_SYS_ABOUT, TEXT("Sobre..."));


#include <windows.h>
#include "resource.h"

#define IDM_SYS_ABOUT   1
#define IDM_SYS_HELP    2
#define IDM_SYS_REMOVE  3371

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

static TCHAR szAppName[] = TEXT("Parte De Menu");

int WINAPI WinMain(HINSTANCE hI,HINSTANCE hPI,PSTR szCmdLine,int iCS) {
    HMENU    hMenu;
    HWND     hwnd;
    MSG      msg;
    WNDCLASS wc;

    HBITMAP      imagem;
    HBRUSH       hBrush;

    imagem  = LoadBitmap(hI, IMAGEM);
    hBrush  = CreatePatternBrush(imagem);
    DeleteObject(imagem);

    wc.style         = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hI;
    wc.hIcon         = LoadIcon(hI, IDI_ICON);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = hBrush;
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = szAppName;

    if(!RegisterClass(&wc)) {
        MessageBox(NULL, TEXT("Error!"), szAppName, MB_ICONERROR);
        return 0;
    }
    hwnd = CreateWindow(
        szAppName, TEXT("Menu Simples"), WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
        NULL, NULL, hI, NULL
    );

    hMenu = GetSystemMenu(hwnd, FALSE);

    AppendMenu(hMenu, MF_SEPARATOR, 0,           NULL);
    AppendMenu(hMenu, MF_STRING, IDM_SYS_ABOUT,  TEXT("Sobre..."));
    AppendMenu(hMenu, MF_STRING, IDM_SYS_HELP,   TEXT("Ajuda..."));
    AppendMenu(hMenu, MF_STRING, IDM_SYS_REMOVE, TEXT("Remove Additions"));

    ShowWindow(hwnd, iCS);
    UpdateWindow(hwnd);

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

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
    switch(message) {
        case WM_SYSCOMMAND:
            switch(LOWORD(wParam)) {
                case IDM_SYS_ABOUT:
                    MessageBox(hwnd,TEXT("Simples Menu\n"),szAppName,MB_OK | 64);
                    return 0;
                case IDM_SYS_HELP:
                    MessageBox(hwnd, TEXT("Not implemented!"), szAppName,MB_OK | 0x30);
                    return 0;
                case IDM_SYS_REMOVE:
                    GetSystemMenu(hwnd, TRUE);
                    return 0;
            }
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
}




/********************Arquivo: resource.h********************/

#define IMAGEM   12
#define IDI_ICON 13




/********************Arquivo: resource.rc********************/

#include "resource.h"
#include "afxres.h"

IDI_ICON ICON              "icone.ico"
IMAGEM BITMAP  DISCARDABLE "img.bmp"

Comentários