윈도우 프로그램 - 차일드 윈도우 사용하기 프로그램
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

윈도우 프로그램 - 차일드 윈도우 사용하기 프로그램에 대한 보고서 자료입니다.

목차

1. 문제서술

2. 소스분석
가. 메인윈도우(CMainWindow.cpp) 분석
나. 차일드윈도우(CChildWindow.cpp) 분석
다. 차일드윈도우 헤더 (CChildWindow.h) 분석

본문내용

E | WS_TABSTOP, 204, 300, 100, 30, hWnd, (HMENU) BUTTON2, g_hInst, NULL);
while(GetMessage(&Message,0,0,0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
int wmId, wmEvent;
switch(iMessage)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch( wmId )
{
case BUTTON1 : // 학번 뿌려주기..
SendMessage(ChildWindow.hWnd ,iMessage,1,(LPARAM)NULL);
break;
case BUTTON2 : // 이름 뿌려주기..
SendMessage(ChildWindow.hWnd ,iMessage,2,(LPARAM)NULL);
break;
}
break;
case WM_PAINT:
HDC hdc;
hdc=GetDC(hWnd);
TextOut(hdc,100,30,"서울 제 1 지역대학 ",20);
ReleaseDC(hWnd, hdc);
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
나. CChildWindow.cpp
#include "CChildWindow.h"
static LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int CChildWindow::Create(HINSTANCE hInstance, HWND hParentWnd)
{
char *ClassName = "ChildWindow";
WNDCLASS WndClass;
WndClass.cbClsExtra = WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor = LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = ::WndProc;
WndClass.lpszClassName = ClassName;
WndClass.lpszMenuName = NULL;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd=CreateWindowEx(WS_EX_TOPMOST | WS_EX_TOOLWINDOW, ClassName,ClassName,WS_OVERLAPPEDWINDOW, 100, 100, 400, 100,
hParentWnd,(HMENU)NULL,hInstance,NULL);
ShowWindow(hWnd,SW_SHOW);
return true;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
int wmId, wmEvent;
char szHello[64] = "서울 제 1 지역대학";
char *check;
switch(iMessage)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
switch(wmId)
{
case 1 :
check = "1001";
break;
case 2 :
check = "1002";
break;
}
case WM_PAINT:
if( check == "1001" )
{
HDC hdc;
hdc=GetDC(hWnd);
TextOut(hdc,10, 25, " 학 번 : *****-****** ", 23);
ReleaseDC(hWnd, hdc);
return 0;
}
if( check == "1002" )
{
HDC hdc;
hdc=GetDC(hWnd);
TextOut(hdc, 180, 25, " 이 름 : XXXXXXXXX ", 20);
ReleaseDC(hWnd, hdc);
return 0;
}
break;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
다. CChildWindow.h
#include
#include
#define BUTTON1 1001
#define BUTTON2 1002
class CChildWindow
{
protected:
// 생성된 윈도우 핸들.
public:
int Create(HINSTANCE hInstance, HWND hParentWnd);
LRESULT WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
HWND hWnd;
};
위의 소스를 개인의 개성을 듬북담아... 또 다른 변형을 이룩하시기 바랍니다.
4. 출력 결과 (이미지)
가. 실행1 (처음 실행 시 화면)
나. 실행2 (학번 버튼 클릭 시 화면)
다. 실행3 (이름 버튼 클릭 시 화면)
개발
메인 윈도우를 생성 (기본 API 모듈 사용) 하고 차일드 윈도우를 생성 (클래스로 멤버를 따로 구성하였습니다.)
메인 윈도우가 생성하고 메시지 루프가 돌기전에 차일드 윈도우를 생성하고 차일드 윈도우의 헨들을 가지고 있는다.
버튼이 눌려지는 시점에서 차일드 윈도우의 헨들과 어떤 버튼이 클릭되었는지의 메시지를 차일드 윈도우의 메시지
루프에 던져 해당되는 이벤트를 발생시킨다.
하나의 .CPP 파일에 하나의 클래스를 만들고 위의 소스를 하나로 통합하여 만들 수 있습니다. 참고하시고
좋은 결과 얻기를 진심으로 바라겠습니다.
  • 가격3,300
  • 페이지수10페이지
  • 등록일2008.04.12
  • 저작시기2008.4
  • 파일형식한글(hwp)
  • 자료번호#460694
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니