반응형
안녕하세요 오랜만에 포스팅을 합니다.
이번에 서버 프로그래밍을 하면서 각각 프로그램을 따로 만들어 모듈식으로 만들던 중
다이얼로그 프로그램이 실행 되면서 바로 HIDE하기 위한 소스입니다.
사실 타 블로그에 다이얼로그의 크기 변화시 처리해주는 방식이있지만 복사 붙여넣기가 힘들어서 아래 방법을 찾았습니다.
-
BOOL CYOUDlg::OnInitDialog()
-
{
-
// IDM_ABOUTBOX는 시스템 명령 범위에 있어야 합니다.
-
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
-
ASSERT(IDM_ABOUTBOX < 0xF000);
-
-
CMenu* pSysMenu = GetSystemMenu(FALSE);
-
if (pSysMenu != NULL)
-
{
-
BOOL bNameValid;
-
CString strAboutMenu;
-
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
-
ASSERT(bNameValid);
-
if (!strAboutMenu.IsEmpty())
-
{
-
pSysMenu->AppendMenu(MF_SEPARATOR);
-
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
-
}
-
}
-
-
// 이 대화 상자의 아이콘을 설정합니다. 응용 프로그램의 주 창이 대화 상자가 아닐 경우에는
-
// 프레임워크가 이 작업을 자동으로 수행합니다.
-
SetIcon(m_hIcon, TRUE); // 큰 아이콘을 설정합니다.
-
SetIcon(m_hIcon, FALSE); // 작은 아이콘을 설정합니다.
-
-
//! 다이얼로그 숨김---------------------------------------------------
-
ShowWindow(SW_SHOWMINIMIZED);//! 최소화후 숨겨야 화면에 나타나지 않음
-
PostMessage(WM_SHOWWINDOW, FALSE, SW_OTHERUNZOOM);
-
//--------------------------------------------------------------------
-
}
※위 소스 중 OnInitDialog 함수 속 빨간 글자의 소스를 추가 하시면 됩니다.
ShowWindow(SW_HIDE); - 원래 프로그램을 숨기는 소스지만 OninitDialog 후 SW_SHOW가 되므로 이 소스만으론 숨길수 없습니다. ShowWindow(SW_SHOWMINIMIZED); - 최소화 후에 숨겨줘야 화면의 깜박거림이 없습니다. |
반응형
결과 화면 입니다.
- 작업 관리자에는 프로세스가 있지만 하단 창에는 없는걸 보실수 있습니다.
반응형
'C, C++, C# > MFC' 카테고리의 다른 글
MFC - typeid를 이용한 문자열 형변환 소스코드 (0) | 2021.04.09 |
---|---|
MFC Log 클래스 (0) | 2020.01.14 |
MFC StretchBlt 비트맵 확대 축소 (0) | 2017.01.06 |
[프로그램] 소수점 랜덤 프로그램 (0) | 2016.11.28 |
mfc 다이얼로그 크기 변경 위치 이동 (0) | 2016.11.17 |