написал код :
#include "windows.h"
#define CM_FILE_OPEN 1001
#define CM_FILE_SAVE 1002
#define CM_FILE_QUIT 1003
#define CM_EDIT_FIND 2001
#define CM_EDIT_REPLC 2002
//обьявления функций
BOOL RegClass(WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
//описание глобальных переменных
HINSTANCE hlnst;
char szClassName[]="WindowAppClass";
char MBName[]="message";
//описание глобальной функции
int WINAPI WinMain (HINSTANCE hlnstance,
HINSTANCE hPrevlnstance,
LPSTR lpszCmdLine,int nCmdShow)
{
MSG msg;
HWND hwnd;
hlnst=hlnstance;
if (!RegClass(WndProc,szClassName,COLOR_WINDOW)) return FALSE;
hwnd=CreateWindow(szClassName,
"WINDOW LEEX",//имя окна
WS_OVERLAPPEDWINDOW|WS_VISIBLE,//стиль окна
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
0,
0,
hlnstance,
NULL );
if(!hwnd) return false;
//ShowWindow(hwnd,SW_SHOWMAXIMIZED);
//UpdateWindow(hwnd);
//MessageBox(hwnd,"!!!!!!!!",MBName,MB_OK);
while (GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
//DrawMenuBar(hwnd);
DispatchMessage(&msg);
}
return msg.wParam;
};
//описание функции регистрации классов
BOOL RegClass(WNDPROC Proc,LPCTSTR szName,UINT brBackground)
{
WNDCLASS wc;
wc.style=0;///CS_HREDRAW|CS_VREDRAW;
wc.cbClsExtra=wc.cbWndExtra=0;
wc.lpfnWndProc=Proc;
wc.hInstance=hlnst;
wc.hIcon=LoadIcon(NULL,IDI_ERROR/*IDI_APPLICATION*/);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)(brBackground+1);//COLOR_WINDOW+1);
wc.lpszMenuName=NULL;//(LPCTSTR)NULL;
wc.lpszClassName=szName;
return (RegisterClass(&wc)!=0);
};
//функция создания кнопок меню
BOOL CreateMenuitem(HMENU hMenu,char *str,UINT uins,
UINT uCom,HMENU hSubMenu, BOOL flag,UINT fType)
{
MENUITEMINFO mii;
mii.cbSize=sizeof(MENUITEMINFO); //размер структуры
mii.fMask=MIIM_STATE|MIIM_SUBMENU|MIIM_ID; //со значениями каких полей надо работать
mii.fType=fType; //тип элемента
mii.fState=MFS_ENABLED; //состояние элимента меню
mii.dwTypeData="2212121212"/*str*/; //строка
mii.cch=sizeof(str); //длина строки
mii.wID=uCom; //индификатор команды
mii.hSubMenu=hSubMenu; //дискриптор временного меню
return(InsertMenuItem(hMenu,uins,flag,&mii));
};
//описание функции окон
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,
WPARAM wParam,LPARAM lParam)
{
static HMENU hMainMenu,hFileMenu,hEditMenu;
switch(msg)
{case WM_DESTROY:{
PostQuitMessage(0);
return 0;
};
case WM_CREATE :{
hMainMenu=CreateMenu();
hFileMenu=CreatePopupMenu();
int i=0;
CreateMenuitem(hFileMenu,"&Открыть",i++,
CM_FILE_OPEN,NULL,FALSE,MFT_STRING);
CreateMenuitem(hFileMenu,"&Сохранить",i++,
CM_FILE_SAVE,NULL,FALSE,MFT_STRING);
CreateMenuitem(hFileMenu,NULL,i++,
0,NULL,FALSE,MFT_SEPARATOR);
CreateMenuitem(hFileMenu,"&Выход",i++,
CM_FILE_QUIT,NULL,FALSE,MFT_STRING);
hEditMenu=CreatePopupMenu();
i=0;
CreateMenuitem(hEditMenu,"&Найти",i++,
CM_EDIT_FIND,NULL,FALSE,MFT_STRING);
CreateMenuitem(hEditMenu,"&Заменить",i++,
CM_EDIT_REPLC,NULL,FALSE,MFT_STRING);
i=0;
CreateMenuitem(hMainMenu,"&Файлы",i++,0,hFileMenu,
FALSE,MFT_STRING);
CreateMenuitem(hMainMenu,"&Правка",i++,0,hEditMenu,
FALSE,MFT_STRING);
CreateMenuitem(hMainMenu,"&Выход",i++,
CM_FILE_QUIT,NULL,FALSE,MFT_STRING);
//MessageBox(hwnd,"!!!!!!!!",MBName,MB_OK);
SetMenu(hwnd,hMainMenu);
DrawMenuBar(hwnd);
return(0);
};
case WM_COMMAND :{
};
};
return DefWindowProc(hwnd,msg,wParam,lParam);
};
по идеи должно было появиться окно с меню на котором кнопки окно появляется меню тоже но кнопок нету!!!!!!! подскажите в чем проблема!!


