Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

재니/MFC

From ZeroWiki
Revision as of 01:32, 27 March 2026 by Maintenance script (talk | contribs) (Repair batch-0007 pages from live compare)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

MFC 스터디

첫째날..

  • API 학습..
#include <windows.h>
#include "resource.h"

LRESULT CALLBACK WindowProc(HWND WindowHandle, UINT message, WPARAM WordParam, LPARAM LongParam)
{
	static bool click = false;
	static x, y;
	static HDC dcHandle;

	switch(message)
	{
	case WM_LBUTTONDOWN:
		click = true;
		dcHandle = GetDC(WindowHandle);
		POINT point;
		MoveToEx(dcHandle, LOWORD(LongParam), HIWORD(LongParam), &point);
		SelectObject(dcHandle, GetStockObject(GRAY_BRUSH));
		break;
	case WM_LBUTTONUP:
		click = false;
		ReleaseDC(WindowHandle, dcHandle);
		break;
	case WM_MOUSEMOVE:
		if(click)
			LineTo(dcHandle, LOWORD(LongParam), HIWORD(LongParam));
		break;
	case WM_COMMAND:
		switch(LOWORD(WordParam))
		{
		case ID_NEW:
			MessageBox(NULL, "얼굴도 못 생긴 것들이~ n만들긴 뭘 만든다고오~~", "옥동자", MB_ICONERROR | MB_OK);
			break;
		case ID_CLOSE:
			DestroyWindow(WindowHandle);
			break;
		}
		break;
	case WM_CLOSE:
		DestroyWindow(WindowHandle);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(WindowHandle, message, WordParam, LongParam);
	}
	return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR IpCmdLine, int nCmdShow)
{
	WNDCLASS shot;
	shot.cbClsExtra = 0;
	shot.cbWndExtra = 0;
	shot.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
	shot.hCursor = (HCURSOR)LoadCursor(NULL, IDC_CROSS);
	shot.hIcon = (HICON)LoadIcon(hInstance, MAKEINTRESOURCE(IDI_PHONE));
	shot.hInstance = hInstance;
	shot.lpfnWndProc = WindowProc;
	shot.lpszClassName = "It's Snow~";
	shot.lpszMenuName = NULL;
	shot.style = NULL;


	if(!RegisterClass(&shot))
		return 0;

	HWND WindowHandle;
	WindowHandle = CreateWindow("It's Snow~", "Wheather", WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
		NULL, LoadMenu(hInstance, MAKEINTRESOURCE(IDR_WITCH)), hInstance, NULL);
	if(!WindowHandle)
		return 0;
	ShowWindow(WindowHandle, nCmdShow);
	UpdateWindow(WindowHandle);

	MSG msg;
	while(GetMessage(&msg, NULL, NULL, NULL))
		DispatchMessage(&msg);
	return msg.wParam;
}

아고 머리야..ㅡㅡ;;

Thread