Tuesday, February 3, 2009

WELCOME


WELCOME CSE ppl!
this blog has been created as some outsides are found in our common Id!
everyone are provided with a seperate id n pass code! :d
keep rocking!

vp fourth

#include
#include
#include"resource.h"
HMENU hMenuInit;
HMENU hMenuInitWindow,hMenuFirstWindow,hMenuSecondWindow;
HMENU hMenuInitWindow;
HINSTANCE hInst;
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT wMessage,WPARAM wParam,LPARAM lParam);
LRESULT CALLBACK FirstChildProc(HWND hwnd,UINT wMessage,WPARAM wParam,LPARAM lParam);
LRESULT CALLBACK SecondChildProc(HWND hwnd,UINT wMessage,WPARAM wParam,LPARAM lParam);
char mainclass[]="Main Class";
char firstchild[]="First Child";
char secondchild[]="Second Child";
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR lpszCmdLine,int iCmdShow)
{
WNDCLASS wc;
MSG msg;
HWND hWndMain,hWndChild;
hInst=hInstance;
if(!hPrevInstance)
{
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc=(WNDPROC)MainWndProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hInstance=hInstance;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszClassName=mainclass;
wc.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);
RegisterClass(&wc);
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc=(WNDPROC)FirstChildProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hInstance=hInstance;
wc.lpszClassName=firstchild;
wc.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);
RegisterClass(&wc);
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc=(WNDPROC)SecondChildProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hInstance=hInstance;
wc.lpszClassName=secondchild;
wc.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);
RegisterClass(&wc);
}
hMenuInit=LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU1));
hMenuInitWindow=GetSubMenu(hMenuInit,0);
hMenuFirstWindow=GetSubMenu(hMenuInit,2);
hMenuSecondWindow=GetSubMenu(hMenuInit,1);
hWndMain=CreateWindow(mainclass,"Welcome",WS_OVERLAPPEDWINDOW|WS_SYSMENU,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
hWndChild=GetWindow(hWndMain,GW_CHILD);
ShowWindow(hWndMain,iCmdShow);
UpdateWindow(hWndMain);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT wMessage,WPARAM wParam,LPARAM lParam)
{
static HWND hwndClient;
CLIENTCREATESTRUCT clientcreate;
static HWND hwndChild1,hwndChild2,hChild;
MDICREATESTRUCT mdicreate;
switch(wMessage)
{
case WM_CREATE:
clientcreate.hWindowMenu=hMenuInitWindow;
hwndClient=CreateWindow("MDICLIENT",NULL,WS_CHILD|WS_CLIPCHILDREN|WS_VISIBLE,0,0,0,0,hwnd,(HMENU)1,hInst,(LPSTR)&clientcreate);
return 0;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_FIRST:
mdicreate.szClass=firstchild;
mdicreate.szTitle="first";
mdicreate.x=CW_USEDEFAULT;
mdicreate.y=CW_USEDEFAULT;
mdicreate.cx=CW_USEDEFAULT;
mdicreate.cy=CW_USEDEFAULT;
mdicreate.style=0;
mdicreate.lParam=0;
hwndChild1=CreateMDIWindow(firstchild,"first",0,CW_USEDEFAULT,0,CW_USEDEFAULT,0,CW_USEDEFAULT,0,hwndClient,hInst,0);
break;
case ID_SECOND:
mdicreate.szClass=secondchild;
mdicreate.szTitle="second";
mdicreate.x=CW_USEDEFAULT;
mdicreate.y=CW_USEDEFAULT;
mdicreate.cx=CW_USEDEFAULT;
mdicreate.cy=CW_USEDEFAULT;
mdicreate.style=0;
mdicreate.lParam=0;
hwndChild2=CreateMDIWindow(secondchild,"second",0,CW_USEDEFAULT,0,CW_USEDEFAULT,0,CW_USEDEFAULT,0,hwndClient,hInst,0);
break;
case IDM_CLOSE:
if(SendMessage(hwndChild1,WM_QUERYENDSESSION,0,0))
SendMessage(hwndClient,WM_MDIDESTROY,(WPARAM)hwndChild1,0);
hChild=GetWindow(hwndClient,GW_CHILD);
DestroyWindow(hChild);
return 0;
break;
case IDM_EXIT:
PostQuitMessage(0);
break;
case IDM_CASCADE:
SendMessage(hwndClient,WM_MDICASCADE,0,0);
break;

case WM_DESTROY:
PostQuitMessage(0);
break;
default:
hwndChild1=(HWND)SendMessage(hwndClient,WM_MDIGETACTIVE,0,0);
if(IsWindow(hwndChild1))
SendMessage(hwndChild1,WM_COMMAND,wParam,lParam);
break;
}
break;
case WM_QUERYENDSESSION:
case WM_MDIDESTROY:
hChild=GetWindow(hwndClient,GW_CHILD);
DestroyWindow(hChild);
return 0;
break;
}
return DefFrameProc(hwnd,hwndClient,wMessage,wParam,lParam);
}
LRESULT CALLBACK FirstChildProc(HWND hWnd,UINT wMessage,WPARAM wParam,LPARAM lParam)
{
switch(wMessage)
{
case WM_CREATE:
MessageBox(hWnd,"First","1st",0);
return DefMDIChildProc(hWnd,wMessage,wParam,lParam);
}
return DefMDIChildProc(hWnd,wMessage,wParam,lParam);
}
LRESULT CALLBACK SecondChildProc(HWND hWnd,UINT wMessage,WPARAM wParam,LPARAM lParam)
{
switch(wMessage)
{
case WM_CREATE:
MessageBox(hWnd,"Second","2nd",0);
return DefMDIChildProc(hWnd,wMessage,wParam,lParam);
}
return DefMDIChildProc(hWnd,wMessage,wParam,lParam);
}

My Blog List

Wanna play chess?