이번엔 윈도우 생성이다. 윈도우 생성은 CreateWindow()라는 함수로 이루어진다. 윈도우 CreateWindow()를 먼져 대충 살펴 보면 12345678910111213HWND CreateWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);cs 위와 같다. 이제 차근차근 살펴보면 LPCTSTR lpClassName은 윈도우를 생성할 때 사용할 윈도우 클래스 이름을 받는 인자이며, 자기가 정의한 윈도우 클래스 이름을 넣어주면 된다. 그 외에 이미..
기초 부분에서 보았듯이 윈도우 클래스를 생성하려면 WINDOWCLASS 구조체 변수로 선언해주면 되는 것을 알 수 있다. 생성은 간단했지만 정의는 생각 보다 길다. 기초에 있는 코드에서 보면 12345678910WndClass.style = NULL;WndClass.lpfnWndProc = (WNDPROC)WndProc;WndClass.cbClsExtra = 0;WndClass.cbWndExtra = 0;WndClass.hInstance = hInstance;WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);WndClass.hbrBackground = (HBRUSH)GetStockOb..
일단 먼져 알아둘게 윈도우 프로그램이란 윈도우에서 메세지를 보내 그 메세지에 대한 이벤트 처리를 하는 프로그램이기 때문에 "이벤트 기반 프로그램"이라고도 한다. 윈도우 프로그래밍에서 프로그래머가 해주어야 하는 것은 윈도우 생성과 이벤트 처리 이 2가지 이다. 그래서 크게 윈도우 프로그래밍을 위해서 아래의 2가지 함수가 필요하다. WinMain(HINSTANCE, HINSTANCE, LPSTR, int) 와 WndProc(HWND, UINT, WPARAM, LPARAM) 이다. WinMain은 C나 C++에서 쓰는 main을 대신하며 윈도우를 생성을 코딩하는 해야할 함수이며, WndProc은 윈도우에서 발생하는 이벤트를 처리 코딩을 해야할 함수이다. 그래서 윈도우 프로그램을 저 2개의 함수로 구조를 보면 ..
visual studio로 프로그램을 만들고 그 프로그램을 공유하면 다른 PC에서 실행할 때 visual studio가 없거나 visual studio있지만 버젼이 다르면 msvc*.dll 이라는 파일이 없다며 오류가 뜹니다. 그런 경우를 해결하고 싶으시면 각 버젼에 맞는 첨부파일을 다운로드하셔서 exe파일로 설치를 해주시면 해결이 됩니다. msvcp100D.dll, msvcr100D.dll 이 없을 경우(프로그램이 visual studio2010으로 만들어진 경우) 첨부 파일 중 MSVC100을 실행!!! msvcp110D.dll, msvcr110D.dll 이 없을 경우(프로그램이 visual studio2012으로 만들어진 경우) 첨부 파일 중 MSVC110을 실행!!! msvcp120D.dll, m..
게임 정도의 출력 처리를 요구하는 프로그램이면 출력을 구현 할 때 system함수가 유용하게 쓰일 때가 많습니다. 일단 헤더파일 Window.h가 필요합니다. 함수의 원형은 뭔질 모르겠지만 제가 적자면 아래와 같을 겁니다. system(char *Command) system함수는 cmd에서 사용하는 명령어를 사용하는 함수인데요. 콘솔이 cmd이고 cmd가 콘솔이기 때문에 가능한 것 같습니다. 많은 cmd 명령어들 중에서 그래픽 처리에 주로 사용하는 것만 고르자면 아마 "cls" "mode con: lines=(정수) cols=(정수)" "color (배경색)(글자색)" "pause" 정도 일 것 같은데요. 순서대로 소개하자면 system("cls") "cls"는 cmd에서 화면을 지우는 함수입니다. 그래..
콘솔로 출력을 하다보면 늘 검은색 화면에 밝은 회색의 글자들 보게 됩니다. 그런 콘솔을 알록달록하게 만들기 위해서 필요한 함수가 SetConsoleTextAttribute(...) 이죠. BOOL WINAPI SetConsoleTextAttribute(_In_ HANDLE hConsoleOutput, _In_ WORD wAttributes); 함수의 원형은 다음과 같고 Windows.h 해더파일을 include 해주셔야합니다. 첫 번째 인자 HANDLE hConsoleOutput에는 출력할 콘솔의 헨들을 얻어와야 하므로 항상 GetStdHandle(STD_OUTPUT_HANDLE)을 넣어주고, 마지막 인자인 WORD wAttributes에는 색상을 입력하면 됩니다. 일단 콘솔에서 제공하는 색은 다음과 ..
콘솔에서 출력을 해보면 항상 왼쪽 위에서부터 차례차례 출력이 됩니다. 하지만 가끔 자신이 원하는 위치에 출력하고 싶을 때가 있을 경우 커서를 원하는 위치로 옮기고 그 다음 출력을 하면 되는데요. 그래서 커서를 옮기려고 gotoxy(...) 함수를 사용합니다. 일단 gotoxy는 Windows.h의 SetConsoleCursorPosition()를 이용해 재정의한 함수임을 알려드립니다.!!! 그래서 Window.h 파일을 include 해주셔야 합니다. 함수는 다음과 같습니다. 12345void gotoxy(int x, int y){ COORD pos = {x-1, y-1}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);}Colored b..
- Total
- Today
- Yesterday