본문 바로가기

전체 글332

MessageBox MessageBoxExW( _In_opt_ HWND hWnd, // 박스를 소유할 윈도우 핸들 _In_opt_ LPCWSTR lpText, // 메시지 창의 내용 _In_opt_ LPCWSTR lpCaption, // 메시지 창의 제목 _In_ UINT uType, // 내용에 출력될 아이콘이나 버튼 _In_ WORD wLanguageId ); MessageBox(hWnd, L"메시지 박스 입니다.", L"한글로 된 메시지 박스 입니다.", MB_ICONQUESTION | MB_OK); cs *윈도우 종료 버튼을 누를시 활용. ;'X 버튼'을 누르면 WM_CLOSE 메시지가 전송되는데 상황에 따라 처리를 다르게 하는게 좋다. LRESULT CALLBACK WndProc(HWND hWnd, UINT mes.. 2019. 9. 24.
Bitmap 복사 ;화면에 출력된 그림을 복사하려면 출력된 그림은 DC의 Bitmap 객체에 보관되어 있기 때문에 해당 Bitmap 객체에 저장된 '비트 패턴'을 GetBitmapBits 함수로 복사해서 사용하면 됨. // DC에서 비트맵 객체 얻기. HBITMAP h_bitmap = (HBITMAP)GetCurrentObject(h_dc, OBJ_BITMAP); // 비트맵 객체에 저장된 비트 패턴 복사하기. BITMAP bmp_info; // 비트맵의 정보를 담을 구조체. GetObject(h_bitmap, sizeof(BITMAP), &bmp_info); // 비트 패턴의 크기를 구하기..bmBitsPixel 의 비트 수에 따라 변환 값이 달라짐. int pattern_size = bmp_info.bmWidth * .. 2019. 9. 24.
WinProc(윈드 프록) ;메시지가 발생할 때 프로그램의 반응을 처리하는 일을 함. 운영체제에 의해 호출됨. 콜백(Call Back) 함수. // 사용자가 메시지를 처리하는 함수. LRESULT CALLBACK WndProc( HWND hWnd, // 메시지를 받을 윈도우의 핸들 값. UINT message, // 메시지의 종류. 변화가 발생한 정보를 가짐. WPARAM wParam, // 부가적인 정보. LPARAM lParam) // 부가적인 정보. { switch (message) { case WM_DESTROY: // 프로그램 종료 PostQuitMessage(0); break; default: // 자신이 처리하지 않는 메시지들의 기본 작업을 대신 처리해주는 함수. return DefWindowProc(hWnd, mes.. 2019. 9. 23.
윈도우 좌표 구성 *GetWindowRect ;윈도우 영역의 좌표를 얻는 함수. // RECT 구조체. typedef struct tagRECT { LONG left; // 왼쪽 상단 x LONG top; // 왼쪽 상단 y LONG right; // 오른쪽 하단 x LONG bottom; // 오른쪽 하단 y } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; // 윈도우 영역에 대한 좌표 구하기. LPRECT rect = NULL; GetWindowRect(hWnd, rect); cs *GetClientRect ;현재 윈도우의 클라이언트 영역의 좌표를 얻는 함수. 개별 윈도우를 위한 상대적인 좌표계. 상단 캡션(타이틀바)을 제외한 영역. // 현재 윈도우의 클라이언트 영역 좌표 구하기. // .. 2019. 9. 23.
GDI(Graphics Device Interface) Windows 운영체제가 그래픽 장치에 대해 프로그램이 독립성을 유지할 수 있도록 만든 기술. *GDI Object -Bitmap: '비트 패턴'을 추상화 시킴. -Pen: 선 그리기에 사용되는 속성. -Brush: 도형의 내부 영역을 채우기 위해 사용되는 속성. *DC(Device Context) ;그리기에 사용되는 GDI Object의 핸들 값을 저장하고 있는 객체. 출력에 대한 필요한 모든 정보를 가지는 데이터. Graphic object Bitmap 바이트 단위의 크기; 픽셀 단위의 치수; 컬러 형식; 압축 계획; 등등. Brush 스타일, 색상, 패턴 및 원점 Palette 색상 및 크기 (또는 색상 수) Font 서체 이름, 너비, 높이, 무게, 문자 세트 등 Path 모양 Pen 스타일, 너.. 2019. 9. 23.
CreateBitmap / CreateCompatibleBitmap // wingdi.h // 비트맵 생성하기. HBITMAP WINAPI CreateBitmap( _In_ int nWidth, // 비트맵의 가로 _In_ int nHeight, // 비트맵의 세로 _In_ UINT nPlanes, // _In_ UINT nBitCount, // 색상을 표현하는 비트 수. 16, 24, 32. _In_opt_ CONST VOID *lpBits // 초기 비트 패턴 설정. nWidth * nHeight * nBitCount / 8. ); // 화면의 색상 수를 얻음. 프로그램의 호환성을 위함. int colorDepth = ::GetDeviceCaps(DeviceContext, BITSPIXEL); // 폭 64, 높이 64, 현재 그래픽 장치의 색상 수를 사용하는 비트맵.. 2019. 9. 23.