trl.h gt; створюється для створення рядка стану
# include resource.h
//Для створення шрифту використовуються наступні константиfont;
//Для пошуку текстаpoisk;// Хендл діалогу пошуку
char str [200]; find; find_msg;
//Для створення меню потрібно оголосити наступні константи
const IDM_Enable_Disable=0;IDM_Exit=1;IDM_About=2;IDP_File=3;IDP_Help=4;IDP_Open=5;IDP_Save=6;IDP_Print=7;IDP_Undo=8;IDP_Cut=9;IDP_Copy=10;IDP_Paste=11;IDP_Datetime=12;IDP_Symbol=13;IDP_Font=14;IDP_All=15;IDP_Find=16;IDP_Alpha=17;IDP_Sigma=18;IDP_Omega=19;
//Оголошується масив для коментарів у нижньому рядку стану * pMessages []=
{
Включити або відключити вихід ,
Вийти з програми ,
Про програму ,
Меню Файл ,
laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,laquo;raquo;,
Меню Правка ,
Меню Вставка ,
Меню Формат ,
Меню Довідка ,
Порожній блокнот. Написав Олексій ,
};
//Глобальна змінна для стану
//документа (для закриття вікна) change=FALSE;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
//Для команди Скасування оголошується цей классUndo
{: * stack_u [10];// На 10 дій назад масив буде хранітьnumber;//скільки пророблено дій
//Оголошується конструктор ()
{number=0;}
//Додавання нової копііaddcopy (char * copy);
char * removecopy ();
}; Undo :: addcopy (char * copy)
{(number == 10)
{[] stack_u [0]; (int i=1; i lt; number; i ++) {_u [i - 1]=stack_u [i];
} -;
} _ u [number]=copy; ++;
}
* Undo :: removecopy ()
{(number == 0)
{ raquo ;;
}
//Відкотити лічильник останніх дій на одиницю
number -; stack_u [number];
} undo; hStatusWindow;// Змінна для створення рядка состояніяtoolbar2; wld=2;// Змінна для рядка стану
HMENU hMenu, hFileMenu, hPravkaMenu, hPasteMenu, hFormatMenu, hHelpMenu; hInst; edit; hWnd;
//Для пункту меню Включити/відключити віход
RECT Rect; UINT nFlag=MF_ENABLED;
char * pContent []=
{
Включити вихід raquo ;, Відключити вихід
}; UINT nIndex=0;
//static HBITMAP hBitmap; nDimension; WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{WndClass={0}; Msg;=hInstance; .style=CS_HREDRAW | CS_VREDRAW; .lpfnWndProc=WndProc;.cbClsExtra=0;.cbWndExtra=0;.hInstance=hInstance;.hIcon=NULL;.hCursor=NULL;.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);.lpszMenuName=NULL;.lpszClassName=laquo;MenuExampleraquo;;(!RegisterClass(amp;WndClass))
{(NULL, Can not register class , Error , MB_OK); 0;
}_msg=RegisterWindowMessage(FINDMSGSTRING);=CreateWindow(laquo;MenuExampleraquo;,laquo;Блокнот Ярослава , _ OVERLAPPEDWINDOW, CW_USEDEFAULT, _USEDEFAULT, 500,300,, NULL, hInstance, NULL); (! HWnd)
{(NULL, Can not create window , Error , MB_OK); 0;
} (hWnd, nCmdShow); (hWnd);
//Вікно для редагування
//Залежно від версії велике текстової поле називається по-різному
LoadLibrary(laquo;Msftedit.dllraquo;);=CreateWindowExW(WS_EX_CLIENTEDGE,Llaquo;RICHEDIT50Wraquo;,laquo;raquo;,WS_VISIBLE|WS_CHILD| ES_MULTILINE, 10, 10,
, 300, hWnd, (HMENU) 10, hInstance, NULL); (! edit)
{(hWnd, e , e , MB_OK); 0;
}
//Створення другої панелі інструментовicx; .dwICC=ICC_BAR_CLASSES; .dwSize=sizeof (icx); ( amp; icx); buttons [3]=
{
{0, IDP_Save, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, NULL},
{1, IDP_Open, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, NULL},
{2, IDP_Print, TBSTATE_ENABLED, TB...