Tab Controls problem.
How can i put controlls on each tab. And how can i handle messages? Thanks from now on.
Code:
#include <windows.h>
#include <commctrl.h>
char className[]="TabControl";
LRESULT CALLBACK WindowProcedure(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int){
MSG messages;
WNDCLASSEX wincl;
wincl.hInstance=hInstance;
wincl.lpszClassName=className;
wincl.lpfnWndProc=WindowProcedure;
wincl.style=0;
wincl.cbSize=sizeof(WNDCLASSEX);
wincl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wincl.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
wincl.hCursor=LoadCursor(NULL,IDC_ARROW);
wincl.lpszMenuName=NULL;
wincl.cbClsExtra=0;
wincl.cbWndExtra=0;
wincl.hbrBackground=HBRUSH(COLOR_3DFACE+1);
if(!RegisterClassEx(&wincl))return 0;
HWND windowHandle=CreateWindow(className,"K.O. Hilesi T.1.0",WS_OVERLAPPEDWINDOW,200,325,500,364,NULL,NULL,hInstance,NULL);
ShowWindow(windowHandle,SW_SHOW);
/*Burada tab menülerini tanımlayan TCITEM yapısıyla ve CreateWindow fonksiyonuyla Tab Menülerini Tanımlıyoruz*/
HWND tabHandle=CreateWindow(WC_TABCONTROL,"",WS_CHILD | WS_VISIBLE,6,0,474,320,windowHandle,NULL,hInstance,NULL);
TCITEM GenelTab;
GenelTab.mask=TCIF_TEXT;
GenelTab.pszText="Genel";
TabCtrl_InsertItem(tabHandle,0,&GenelTab);
TCITEM RogueTab;
RogueTab.mask=TCIF_TEXT;
RogueTab.pszText="Rogue";
TabCtrl_InsertItem(tabHandle,1,&RogueTab);
TCITEM WarriorTab;
WarriorTab.mask=TCIF_TEXT;
WarriorTab.pszText="Warrior";
TabCtrl_InsertItem(tabHandle,2,&WarriorTab);
TCITEM MageTab;
MageTab.mask=TCIF_TEXT;
MageTab.pszText="Mage";
TabCtrl_InsertItem(tabHandle,3,&MageTab);
TCITEM PriestTab;
PriestTab.mask=TCIF_TEXT;
PriestTab.pszText="Priest";
TabCtrl_InsertItem(tabHandle,4,&PriestTab);
ShowWindow(tabHandle,SW_SHOW);
/*Tab Menüleri tanımlandı ve ShowWindow win32 api fonksiyonuyla ana pencerede gösterildi*/
/*Menülere şimdi de kontrol adı verilen düğmeleri kutuları falan ekleyelim*/
while(GetMessage(&messages,NULL,0,0)){
TranslateMessage(&messages);
DispatchMessage(&messages);
};
return messages.wParam;
}
LRESULT CALLBACK WindowProcedure (HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
switch(message){
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
};
return 0;
}