본문 바로가기

2017/02

[MFC(Visual C++)] 다이얼로그 타이틀(border) 및 프레임 없애기 ModifyStyle(WS_CAPTION, 0); 을 하면 된다. #define WS_CAPTION 0x00C00000L /* WS_BORDER | WS_DLGFRAME */ ModifyStyle(0, WS_CAPTION); 을 하면 다시 보인다. 더보기
[MFC(Visual C++)] 다이얼로그 최상위(맨앞) 및 활성화하기 HWND hWndActive= ::GetForegroundWindow();// 다이얼로그 최상위로 올리고 활성화 시키기if(this->m_hWnd != hWndActive && hWndActive != NULL){DWORD dwThreadPID;DWORD dwCurrentThreadID; dwThreadPID= GetWindowThreadProcessId(hWndActive, NULL);dwCurrentThreadID= GetCurrentThreadId(); if(dwThreadPID != dwCurrentThreadID){if(AttachThreadInput(dwCurrentThreadID, dwThreadPID, TRUE)){BringWindowToTop();AttachThreadInput(dwCur.. 더보기
[MFC(Visual C++)] 다이얼로그 투명화 HWND hWnd= m_pChildDlg->GetSafeHwnd();::SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);m_pChildDlg->SetLayeredWindowAttributes(0, 60, LWA_ALPHA); 위의 '60'을 조절하면 투명도를 조정할 수 있다. 더보기
[MFC(Visual C++)] 자식 다이얼로그 최상위로 생성하기 // 자식 다이얼로그를 생성한다. (최상위로)m_pChildDlg= new CCapturedScreen();m_pChildDlg->Create(IDD_DLG_SCREEN, GetDesktopWindow());m_pChildDlg->SetWindowPos(&CWnd::wndTopMost, 0, 0, 1920, 1080, SWP_NOMOVE|SWP_SHOWWINDOW); CCapturedScreen은 자식 다이얼로그의 이름 위와 같이하면, 자식 다이얼로그를 생성하여 맨 앞에 둘 수 있다. 더보기
[MFC(Visual C++)] 바탕화면의 해상도 얻어오기 // CWindowDC 형식으로 DC를 얻어온다.HDC hScrDC= ::GetDC(NULL); // 현재 스크린의 해상도를 얻어온다.int nWidth= ::GetDeviceCaps(hScrDC, HORZRES);int nHeight= ::GetDeviceCaps(hScrDC, VERTRES); 더보기
[MFC(Visual C++)] 다이얼로그 기반 OnDraw 호출하기 다이얼로그 기반 환경에서는 기본적으로 OnPaint 함수만 존재한다. OnDraw 함수는 OnPaint 함수에서 호출하는 식으로 구성되어 있다. 보통 OnPaint는 화면 출력을 위한 함수이고, OnDraw는 화면 출력 및 프린터에도 관여하는 함수이다. 1. 헤더파일에 OnDraw 함수 선언 2. OnPaint 함수에서 OnDraw 호출 3. OnDraw 함수의 내용 구현 더보기
MFC(Visual C++) 엔터 및 백스페이스 종료 방지 1. PreTranslateMessage 함수 재정의 2. 아래와 같이 내용 삽입 더보기