일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 시스템프로그래밍
- arduino compiler
- map
- vector
- Array
- Algorithm
- 아두이노
- LineTracer
- 라인트레이서
- directx
- 자료구조
- 운영체제
- queue
- WinAPI
- c++
- Stack
- 아두이노 소스
- C언어
- 컴퓨터 그래픽스
- priority_queue
- 아두이노 컴파일러
- 통계학
- html
- Deque
- list
- 수광 소자
- set
- Arduino
- stl
- Visual Micro
- Today
- Total
목록WinAPI (6)
Kim's Programming
DrawText TextOut은 한 줄만 출력하므로 기능이 너무 단순합니다. 이보다 조금 더 기능이 많은 문자열 출력 함수로 DrawText라는 함수가 있습니다. 1int DrawText( HDC hDC, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);cs 이 함수는 사각영역을 정의하여 영역 안에 문자열을 출력할 수 있으며 여러 가지 포맷을 설정하는 기능이 있습니다. 윈도우즈에서 사각영역을 정의할 떄는 다음과 같이 정의된 RECT 구조체를 이용합니다.1234567typedef struct_Rect{ LONG left; LONG top; LONG right; LONG bottom;}cs이 구조체는 왼쪽 위의 좌표와 오른쪽 아래의 좌표를 정의함으로써..
DC(Device Context) 윈도우즈는 세 가지 동적 연결 하이브러리(DLL)로 구성되어 있는데 메모리를 관리하고 프로그램을 실행시키는 KERNEL, 유저 인터페이스와 윈도우를 관리하는 USER 그리고 화면 처리와 그래픽을 담당하는 GDI가 그것들입니다. 윈도우 API함수의 대부분은 이 세 가지 DLL에 의해 제공되고 있습니다. 출력을 하려면 우리는 GDI(Graphic Device Interface)모듈에 특별히 관심을 기울여야 하는데 화면으로 출력되는 모든 글자와 그림은 GDI를 통해야 하기 떄문입니다. DC(Device Context)란 출력에 필요한 모든 정보를 가지는 데이터 구조체이며 GDI 모듈에 의해 관리됩니다. 문자열의 모양을 지정하는 폰트, 선의 색상과 굵기, 채움 무늬와 색상, 그..
윈도우 프로시저 메세지 처리 함수란 메세지가 발생할 때 프로그램의 반응을 처리하는 일을 하며 WinMain함수와는 별도로 WndProc이라는 이름으로 존재합니다. 윈도우 프로시저(Window Procedure)라는 뜻이지만 통상적으로 읽을 때는 윈드 프록으로 읽습니다. WndProc은 WinMain에서 호출하는 것이 아니라 운영체제에 의해 호출됩니다. WinMain내의 메시지 루프는 메세지 루프는 메세지를 메세지 처리 함수로 보내기만 할 뿐이며 WndProc은 메세지가 입력되면 운영체제에 의해 호출되어 메세지를 처리합니다. 이렇게 운영체제에 의해 호출되는 응용 프로그램 내의 콜백(Callback)함수라고 합니다. 콜백 함수라는 용어는 나중에 따로 하겠습니다. WndProc의 인수는 모두 4개이며 MSG구..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);HINSTANCE g_hInst;LPCTSTR lpszClass = TEXT("첫번째"); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow){ HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst = hInstance; WndClass.cbClsExtra = 0; WndClass.cb..
C언어에서는 콘솔으로 만들었기 때문에 콘솔응용 프로그램을 선택하여 만들었지만 WinAPI는 프로젝트 생성이 조금 다릅니다. 전에는 위에 있는 win32 콘솔 응용 프로그램을 선택하여 만들었지만 WinApi는 win32 프로젝트를 용하여 프로젝트를 생성 해 주면됩니다. 나머지는 동일합니다. WinApi 첫 예제의 소스입니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);HINSTANCE g_hInst;LPCTSTR lpszClass = TEXT("첫번째"); int APIENTRY WinMain..
1. 변수 명명법 윈도우즈 프로그래밍에서는 도스(DOS)에서 와는 다릅니다. 도스에서는 변수가 i,j등 짧고 소문자만 이용하지만 윈도우즈에서는 많은 변수가 사용되므로 보통은 변수의 이름을 길게 쓰고 읽기 쉽게 하기 위해 대소문자를 혼합하여 사용합니다. 사용하는 변수가 많기 떄문에 단축형으로 쓰다보면 헷갈리기 쉽고 너무 길면 입력이 불편하기 때문에 잘 절충해야합니다. 특히 자주 사용하는 변수는 관습적으로 정해진 접두어를 사용하는데 다음은 윈도우즈 프로그래밍에서 주로 사용되는 접두어 들입니다. 접두어 본딧말 의미 cb Count of Byte 바이트 수 dw double word 부호없는 Long형 정수 h handle 윈도우, 비트맵, 파일 등의 핸들 sz Null Terminated NULL 종료 문자열..