반응형

프로그래밍 관련/MFC 25

[MFC] OnSize 관련

=====================================================================    출처: http://www.gpgstudy.com/forum/viewtopic.php?t=8785   WM_SIZING 은 리사이징 되고있는때 나는 메세지이고WM_SIZE 는 리사이징이 끝났을때 나는 메세지입니다.하지만 윈도XP는 리사이징하면서도 계속 표시가 되기 때문에크기가 1픽셀이라도 바뀔때마다 WM_SIZE 메세지가 날아옵니다.그런데 DX9 예제를 보면.. 리사이징 될 떄는 그냥 별다른 처리를 안하다가리사이징이 끝났을때 변화된 화면 비율을 계산하여 처리를 합니다.그런데 mfc 에서 이런식으로 하려면 어떻게 해야 하죠?제가 왜 이런 질문을 하냐면OnSize 함수 속에 DX..

[MFC] 다이얼로그 소멸 순서

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 출처: http://www.kkangtong.net/118 ※ WM_SYSCOMMAND → WM_CLOSE → WM_DESTROY → WM_QUIT 1. WM_CLOSE - 윈도우가 닫히기 전에 메시지가 전달 된다. - 아직 윈도우가 파괴된 것은 아니므로 윈도우가 파괴되는 것을 중간에 제어 할 수 있다. - 윈도우의 “닫기” 를 누르거나, 키보드의 “Alt + F4”를 눌렀을 경우 발생 - ..

C/C++ MFC Thread에서 Dialog의 UpdateData()사용하는 방법

================================= ================================= ================================= 출처: http://xe.obg.co.kr/?mid=programming&category=5383&page=2&sort_index=title&order_type=asc&document_srl=4509 다이얼로그 사용시특정동작을 실행하면 특정동작이 돌아가는 동안 다이얼로그가 먹통이 됩니다. 이를 해결하기 위해 쓰레드를 사용하게되는데 이때 쓰레드 안에서 바로 UpdateData함수를 사용하면 에러가 발생합니다. 이를 해결하기 위해 윈도우에 메세지로 UpdateData를보내서 다이얼로그의 변경값을 실시간으로 변경하게 할 수 있습니..

[MFC] MFC에서 UI Thread MFC 스레디 관련, 스레드 중 관련 UI 생성 관련

=====================================================================     출처 :http://blog.naver.com/xtelite/50023358990   MFC에서의 Multithread OS는 구분하지 않지만 MFC는 사용자 편의를 위하여 두 가지 형태로 지원 1.     Worker thread2.     User Interface thread Worker thread ::AfxBeginThread() 함수를 이용 CWinThread* ::AfxBeginThread(       AFX_THREADPROC pfnThreadProc,       LPVOID pParam,       int nPriority = THREAD_PRIORITY_N..

C, C++ MFC 컨트롤, 프레임 디자인 하기 관련

=====================================================================      출처: http://egloos.zum.com/sunyoungis/v/1022109(MFC)1주차 다이얼로그 생성http://sunyoungis.egloos.com/1022109 Test 프로젝트 생성 (다중문서선택)      2. 솔루션 탐색기 아래 탭에서 [리소스뷰] - [Menu] - [IDR_MAINFRAME] - Test/다이얼로그 만들기       3. 다이얼로그 마우스 오른쪽 클릭 -> ID 부분 편집한다.     4. ID편집후 -> 이벤트 처리기 추가      5. CMainFrame 선택후 [ 추가 및 편집 ]     6. 솔루션 탐색기 아래 탭에서 [리..

GDI+ 설정방법, 이미지출력, 투명화, 더블버퍼링, 이미지회전, jpg생성, 글자 출력, GDI와 데이터형 변환 관련

=====================================================================      출처 : http://blog.naver.com/najira00/60058229279 여지껏 GDI를 사용하다가 vc++ 2005로 갈아타게 되는 김에 GDI+를 한번 공부해보았습니다.GDI+는 GDI에 업그레이드 버젼이며, 자세한 정보및 강좌는 제 블로그 Library란에 보시면 강좌가 링크되어있습니다.저는 잘 못느끼겠지만..속도는 GDI보다 느리다고 하더군요.그렇지만 한번 GDI+로 코딩하면서 느낀것은 너무너무 간편하다는 점이였습니다.코딩이 달랑 몇줄에 끝나기도 하고...별다른 코딩없이 JPG등의 파일을 생성하기도 하고 제어하기도 한다는점이 매력적이였습니다.왠만한 함수..

비쥬얼스튜디오 Visual Studio GDIPLUS 이미지 처리 관련

======================= ======================= ======================= 주의 Image::FromFile(파일경로이름) Bitmap::FromFile(파일경로이름) 이 함수를 쓸대 파일경로이름 문자열을 (WCHAR*)L"파일경로이름" 이렇게 처리해주어야 파일을 제대로 찾는다 Visual Studio 2017 버전을 쓰는데 "L" 자를 뺴먹어서 파일을 찾지를 못해 애먹은적이 있다. ======================= ======================= ======================= 출처: 일반적으로 배우는 Win32API에서 이미지 출력은 BMP파일을 리소스에 등록하여 LoadImage함수로 핸들을 받아와 Bitblt 하는..

[MFC] 마우스 커서 숨기기, 보이게 하기 관련

=====================================================================      출처: https://hychome.blogspot.kr/2015/10/mfc_9.html  윈도우 프로그래밍에서 마우스 커서의 보임 여부를 설정하는 함수는 ShowCursor()함수입니다. 이 함수는 기본적으로 자주 쓰이는 windows.h 헤더 파일에 포함되는 함수인데 기본 형은 다음과 같습니다.int WINAPI ShowCursor(_In_ BOOL bShow); ShowCursor() 함수의 파라메터로 들어가는 bShow는 위 구문에서 보여지는 것처럼 BOOL 형으로 true 또는 false 값이 들어갑니다. true를 넘겨주면 커서가 보이고 false를 넘겨주면 ..

[MFC] UI, 이미지로드 변경수정시 Invalidate(); 하였을때 더블버퍼링으로 부드럽게,GDI+ 더블 버퍼링 관련

=====================================================================    출처: http://fattarzan.tistory.com/entry/Invalidate-VS-UpdateWindow-%EC%B0%A8%EC%9D%B4%EC%A0%90  질문]InvalidateRect(hWnd,NULL,TRUE);UpdateWindow(hWnd);두함수 모두 WM_PAINT를 강제로 호출 해서 원도우를 다시 그리는걸로 아는대요..차이가 뭔가요?InvalidateRect이함수는 다시 그릴 영역을 지정할수도 있는거 같은대두함수 같이 쓰는 이유가 뭔가요?답변]InvalidateRect()는 윈도우의 클라이언트 영역 중에서 일부분을 무효화 시키는 것입니다.이때, 첫..

반응형