본문 바로가기
728x90
반응형

프로그래밍56

윈도우 가시모드/비가시모드 ShowWindow(hInsert1[i-1][j],SW_SHOW);ShowWindow(hInsert1[i][j],SW_HIDE); 2014. 3. 28.
네모 그리기, 선 긋기, 글 쓰기 HDC hdc;HBRUSH hBrush; //네모 그리기hBrush=CreateSolidBrush(RGB(255,200,200));(HBRUSH)SelectObject(hdc,hBrush);Rectangle(hdc,17,50,107,771);DeleteObject(hBrush); 반드시 오브젝트 제거해줘야 한다 함.동적 할당 할 뒤에 해제하는 거랑 똑같은거래. 잘은 모르겠다. //선 긋기MoveToEx(hdc,17,50+120*i,NULL);LineTo(hdc,645,50+120*i); 위 함수로 스타트 점을 설정해주고, 그것을 시작점으로 아래 함수에서 지정한 위치까지 줄을 긋는다. 줄을 긋고 나면 아래 함수에서 지정한 위치가 다시 스타트 점으로 설정됨. //글 쓰기TextOut(hdc,680,30,L".. 2014. 3. 28.
winAPI 윈도우에 값 쓰거나 읽기 1. 함수를 이용하기 GetWindowText(hWnd,tmp1,4);SetWindowText( HWND hWnd,l LPCTSTR lpString) 2. 메시지 보내기SendMessage(hWnd,WM_GETTEXT,len+1,(LPARAM)Caption);SendMessage(swapA,WM_SETTEXT,0,(LPARAM)tmp2); 2014. 3. 28.
winAPI 버튼에 이미지 입히기 LoadBitmap HBITMAP hBitmap;hBitmap = (HBITMAP)LoadBitmap(g_hInst, MAKEINTRESOURCE(IDB_BITMAP1)); SendMessage(hBtn1[d], BM_SETIMAGE, 0, (LPARAM)hBitmap); 리소스로 불러온 이미지 파일만 가능하다. LoadImageW( __in_opt HINSTANCE hInst, __in LPCWSTR name, __in UINT type, __in int cx, __in int cy, __in UINT fuLoad);#ifdef UNICODE#define LoadImage LoadImageW#else#define LoadImage LoadImageA#endif // !UNICODE LoadImage() 라는 함수도 있는데.. 2014. 3. 28.
유니코드 -> 정수형 변환 문자열(char*)을 정수로 변환하는건 atoi() 함수이고, 유니코드를 정수형으로 변환하는건 _wtoi() 함수다. int atoi( const char *str ); int _wtoi( const wchar_t *str ); int utoi(HWND hWnd){TCHAR tmp[4];GetWindowText(hWnd,tmp,3);return _wtoi(tmp);} 이렇게 윈도우 컨트롤에서 문자열 가져다가 쓰면 꿀잼. 2014. 3. 28.
유니코드 파일 입출력 / 유니코드 한글 사용 FILE fout=_tfopen(L"output.txt",L"w");fclose(fout); 한글이 깨지면 메인 함수에 #include _wsetlocale( LC_ALL, L"korean" ); 혹은 std::cout.imbue(std::locale("korean")); 써주고. fwprintf() 함수로 파일 출력. 입력은 유니코드 관련 함수 찾아서 써주고. fwscanf() 2014. 3. 28.
WM_CTLCOLOREDIT / SetBkColor() 에디트 컨트롤 만들기 전에 실행되는 메시지다. LRESULT OnCtlColorEdit(HWND hWnd, WPARAM wParam, LPARAM lParam){//토요일 에디트 파란색for(int i=0;i0)if(lParam==(LPARAM)hEdit1[sunday[i]-1] || lParam==(LPARAM)hEdit2[sunday[i]-1])SetBkColor((HDC)wParam, RGB(232,255,255));//일요일 에디트 빨간색for(int i=0;i0)if(lParam==(LPARAM)hEdit1[sunday[i]] || lParam==(LPARAM)hEdit2[sunday[i]])SetBkColor((HDC)wParam, RGB(255,200,200));return 0;} SetBk.. 2014. 3. 28.
winAPI 메시지 처리 함수 정리하기 int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszCmdParam,int nCmdShow){HWND hWnd;MSG Message;WNDCLASS WndClass;g_hInst=hInstance; //유니코드 출력을 위해 로케일 설정_wsetlocale( LC_ALL, L"korean" ); WndClass.cbClsExtra=0;WndClass.cbWndExtra=0;WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);WndClass.hIcon=LoadIcon(NULL,IDI_APPLICA.. 2014. 3. 28.
728x90
반응형