프로그래밍/WindowsAPI 스피비 2011. 5. 11. 10:48
1. 문자열출력 문자열을 출력하는 TextOut 함수이며 도스의 printf에 해당하는 함수이다. 원형은 다음과 같다. BOOL TextOut(hdc, nXStart, nYStart, lpszString, cbString) 첫번째 인수는 당연히 DC의 핸들인 hdc이다. 이 함수뿐만 아니라 화면에 무엇인가를 출력하는 모든 함수들의 첫번째 인수는 항상 hdc이다. 이 DC는 GetDC나 BeginPaint 함수에 의해 구해졌을 것이다. (nXStart, nYStart)는 문자열이 출력될 좌표이며 lpszString이 출력할 문자열을 담고 있는 문자열 포인터이며 cbString이 출력할 문자열의 길이이다. TextOut 함수는 널종료 문자열을 사용하지 않으므로 문자열의 길이를 인수로 반드시 밝혀주어야 한다...
프로그래밍/WindowsAPI 스피비 2011. 5. 11. 10:32
DC의 개념에 대해서 알아보자. 1. 동적 연결 라이브러리 => 윈도우즈에는 세가지 동적 연결 라이브러리로 구성되있다. KERNEL : 메모리를 관리하고 프로그램을 실행시키는 라이브러리 USER : 유저 인터페이스와 윈도우를 관리하는 라이브러리 GDI : 화면처리와 그래픽을 담당하는 라이브러리 2.DC란? => 1) Device Context 의 약자로 출력에 필요한 모든 정보를 가지는 데이터 구조체 2) 즉, DC는 그리기에 필요한 다양한 정보들의 저장소 역할을 함.! 3) GDI 모듈에 의해 관리된다. (폰트, 선의 색상 굵기, 무늬 그리기 모드 등등 ) 4) DC는 그리기 함수들이 참조하는 원점(윈도우 활성역역 left,top부분)의 정보도 제공함 5) DC는 윈도우끼리의 출력 결과가 서로를 방해하..
프로그래밍/WindowsAPI 스피비 2011. 5. 3. 23:16
TransparentBlt 함수 Transparent는 투명화이다. 즉, 투명화 함수(비트맵 출력과 동시에 함) 즉, BitBlt를 사용 안해도 된다는 것이다, 대처할 수 있다는 것이다. 그리고 배경(투명될 색)색도 정할 수 있다. 함수의 원형은 이런 구조이다. TransparentBlt( 출력 담당 DC, 출력 위치 x, 출력 위치 y, 가로, 세로 ,출력물이 들어있는 DC, 출력물의 출력시작 위치x, 출력물의 출력시작 위치y, 가로, 세로 ,RGB(int, int, int) ); => 출력담당 DC는 hdc를 뜻하며, 출력물 DC는 당연히 CreateCompatibleDC(hdc)를 부여받은 비트맵 전용DC ex) TransparentBlt(hdc,x,y,32,32,MemDC,0,0,32,32,RGB..
프로그래밍/WindowsAPI 스피비 2011. 5. 2. 12:42
윈도우즈 API의 기본코드와 구조에 대해서 알아보자 #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); HINSTANCE g_hInst; LPCTSTR lpszClass = TEXT("SKFirst"); int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow ) { HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst = hInstance; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hbrBackground = (HBRUS..
프로그래밍/WindowsAPI 스피비 2011. 5. 2. 12:29
유니코드는 16 bit 의 단일한 값으로 지구에 있는 모든 문자를 표현할 수 있는 문자 코드 체계이다. 유니코드를 지원할 수 있게 하기 위해 C 언어 타입으로 바로 쓰지 말고 아래와 같은 중간 타입을 사용하자. TCHAR 는 c 의 기본타입 중 char 과 같지만, 유니코드로 컴파일 할 떄는 wchar_t 타입이 된다. wchar_t 타입은 실제로는 unsigned short 로 정의되어 있으며 부호없는 16비트 정수형이다. 타입의 실제 정의문은 아래와 같이 조건부 컴파일문으로 작성되어 있다. #def UNICODE typedef wchar_t TCHAR; #else typedef char TCHAR; #endif 문자열을 다루는 함수들도 유니코드를 인식할 수 있는 아래와 같은 함수들을 쓰자. 기본타입의..