MFC에서 TRACE로 현재 파일 __FILE__ 현재 함수 __FUNCTION__ 현재 줄 __LINE__ 을 출력하는 기능을 활용해서 TRACE와 결합해 문제가 발생하는 경우 위치를 정확하게 출력할 수 있다. 방법 1 본좌의 경우 아래와 같이 활용한다. TRACE("[%s %s %s]", __FILE__, static_cast(__LINE__), "문구"); 방법 2 C++ 20 버전 이상이라면 아래와 같이 매크로 없이 정상적인 방법으로 활용도 가능하다. #include #include #include namespace my::lib { void print(std::string_view message, const std::source_location& location) { std::cout
MFC에서 CPP 프로그래밍 동적으로 다이얼로그 사이즈를 변경해서 화면 해상도에 맞는 다이얼로그를 출력해보겠습니다. 기존에 OnInitDialog()함수 내에 BOOL CAboutDlg::OnInitDialog() 3줄만 입력하시면 화면 크기의 1/4 사이즈의 창을 화면의 정 중앙에 위치 할수 있습니다. int x = GetSystemMetrics(SM_CXSCREEN); // x축 화면 크기 (단위 px) int y = GetSystemMetrics(SM_CYSCREEN); // y축 화면 크기 (단위 px) this->MoveWindow(x/4,y/4,x/2,y/2); // 화면 중앙에 화면의 1/4 사이즈로 배치 함수 설명 ClientToScreen 함수는 지정한 지점의 클라이언트 영역 좌표를 화면..
MFC 파일에서 RC 파일을 편집하다 보면 사이즈를 정확하게 Pixel 단위로 맞춰야 하는 경우가 있다. 많은 초보 프로그래머 들이 오른쪽 하단에 적힌 단위로 크기 조절을 하면 된다고 생각하지만 이는 pixel이 아닌 DLU 라는 단위로서 폰트 평균 높이 값이 8이고 평균 높이 값이 4일때 1DLU = 1pixel 인 되는 경우가 있고 이도 해상도에 따라 달라질수 있으며 https://devblogs.microsoft.com/oldnewthing/20180510-00/?p=98725 On the difficulty of getting pixel-perfect layout in Win32 dialog templates That's not what it's for. devblogs.microsoft.com ..
MFC에서 CPP 프로그래밍 동적으로 다이얼로그 사이즈를 변경 방법 1 다이얼로그 윈도우 사이즈와 위치를 직접 정한다. MoveWindow(int x, int y, int Width, int Height); 방법 2 기존의 다이얼로그 윈도우 사이즈와 위치를 참조해 작성한다. 아래 코드는 사각형 위치에 x축과 y 축 모두 10을 더하고 너비와 높이에 모두 10을 더한 경우임 CRect rec; GetWindowRect(&rec); int Dif1 = 10; int Dif2 = 10; int Dif3 = 10; int Dif4 = 10; MoveWindow((rc.left + Dif1), (rc.top + Dif2), (rec.Width() + Dif3), (rec.Height() + Dif4)); 인자값 ..