목록전체 글 (253)
bdfgdfg
#include #include using namespace std; int solution(int n) { int answer = 0; int nCount = 0,nextNumCount = 0; int temp = n,nextNum = n; while(temp > 0) { if(temp % 2 == 1) ++nCount; temp /= 2; } int i = 0; while(true) { if(nCount == nextNumCount) { answer = nextNum; break; } else nextNumCount = 0; nextNum++; temp = nextNum; while(temp > 0) { if(temp % 2 == 1) ++nextNumCount; temp /= 2; } ++i; } ..
키보드 문자 키에 발생하는 메시지 - WM_CHAR -> 어떤 문자가 입력되었는지는 모름. 대소문자 구분 방법 wParam : 아스키 코드 값 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { static wchar_t string[100]; static int index; switch (message) { case WM_CHAR: string[index] = (wchar_t)wParam; ++index; InvalidateRect(hWnd, NULL, true); break; case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); TextOut(..
그래픽 -GDI(Graphics Device Interface) - 운영체제의 한 부분으로 출력을 담당(Gdi.dll) DC의 개념과 역할 DC - DC는 출력하기 위한 장치(화면 프린터)의 특성을 저장하는 구조체 - 우리가 화면에 무언가를 출력하기 위해서는 DC를 사용해야한다. 우리의 프로그램은 DC를 통해서 작업을 하고 DC가 GDI(OS의 영역)에게 명령을 하는 구조. 쉽게 말해 화면이 출력되는 모든 무언가를 이 dc구조체를 사용해서 간편하게 출력할 수 있다. DC를 사용하는 그래픽 오브젝트 - 비트맵 브러쉬 펜 폰트 Path등.. DC의 데이터형 -> 핸들(HDC) 화면 DC에 관련된 함수 - BeginPaint(),EndPaint() // WM_PAINT 메시지 처리에서만 사용가능 - GetDC..
유니코드 유니코드는 한문자당 2바이트. winapi의 함수는 유니코드로 받는 함수가 많기에 문자나 문자열을 유니코드 자료형으로 사용하는게 좋다. ex) wchar_t, wstring 윈도우 구조체 윈메인 함수에서 처음에 레지스터클래스라는 함수를 통해 윈도우 클래스를 설정 및 등록한다. ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.h..