MFC
[MFC] Dialog based - class name 지정하는 간단한 방법
[MFC] Dialog based - class name 지정하는 간단한 방법
2019.09.08MFC Dialog - FindWIndow를 위한 Class Name 지정하는 방법 요즘에도 MFC를 개발하는 사람이 있는지 모르겠네요... 이번에 MFC Project 중 FindWindow를 사용해야 하는데, Window Title을 바탕으로 하게 되면 오탐이 생길 수 있기 때문에 Class Name을 지정하여 정확한 윈도우를 찾아내기로 했습니다. 먼저 MFC Dialog based 로 프로젝트를 생성하게 되면 기본 Class Name은 #32770입니다. 그렇다면 Class Name을 어떻게 변경해야 할까요? 기본적으로 project.rc 파일이 생성되고, 그 안에 Dialog의 Properties를 보게 되면 Class Name이라는 항목이 존재합니다. 그런데 보면 알 수 있듯이 비활성화가 되어있..
[MFC] Dialog Load GIF image
[MFC] Dialog Load GIF image
2019.07.28MFC GIF Example MFC Dialog에서 gif image 동작을 기본적으로 지원하지 않습니다. Loading Image 또는 다른 애니메이션 동작을 보여주기 위해선 Static Control (Picture Control)을 이용하는 방법이 있습니다. gif_control.hpp 주의 먼저 gif 이미지를 로드하기위해선 GDI+를 이용해야 합니다. 이전에도 말씀드린 대로 GDI+를 사용하기 위해선 초기화가 되어있어야 합니다. 초기화에 관련된 내용은 아래 링크를 참조하면 됩니다. https://wendys.tistory.com/118 [C++] How to use GDIPlus Library in c++ C++, MFC에서 GDI+ 사용법 윈도우 프로그램을 개발하다 보면 UI 작업이 필요한 경..
[MFC] 다이얼로그의 윈도우 소멸자 호출 순서
[MFC] 다이얼로그의 윈도우 소멸자 호출 순서
2019.07.28MFC Dialog 종료 소멸 순서 정리 최근 MFC 개발을 하다보니 소멸 순서에 대해 확인할 필요가 있어져서 확인 후 정리합니다. 모든 객체는 생성을 했으면 소멸을 해주어야하는게 당연합니다. 포인터의 경우엔 스마트 포인터를 이용하고, Lock Object는 RAII 패턴을 통해 Auto Lock을 사용하게 됩니다. Dialog based 로 개발을 하다보면 Thread를 통해 UI Control에 접근을 하여 특정 상황에 UI를 변경하는 작업을 하게 되는데, 이때 해당 Thread를 소멸자에서 제거하게 되면 UI Control.m_hwnd 가 nullptr이 되어 매번 여러 상황에서 체크를 해야 하는 상황이 발생할 수 있습니다. 그렇기 때문에 Dialog::~Dialog 소멸자가 아닌 WIndow Co..