반응형
전체화면으로 처리할일이 생기는데 만약 작업표시줄을 없애야 한다면?
자동으로 숨기기 기능 코드이다. 바로 적용시키면 된다.
- {
- APPBARDATA stAppBarData;
- // 구조체 초기화
- ZeroMemory( &stAppBarData, sizeof stAppBarData );
- stAppBarData.cbSize = sizeof stAppBarData;
- // 작업 표시줄 핸들을 찾는다.
- stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL );
- stAppBarData.lParam |= ABS_AUTOHIDE;
- // 쉘 메시지를 전달한다.
- SHAppBarMessage( ABM_SETSTATE, &stAppBarData );
- }
void CMyPlannerDlg::hideWorkBar() { APPBARDATA stAppBarData; // 구조체 초기화 ZeroMemory( &stAppBarData, sizeof stAppBarData ); stAppBarData.cbSize = sizeof stAppBarData; // 작업 표시줄 핸들을 찾는다. stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL ); stAppBarData.lParam |= ABS_AUTOHIDE; // 쉘 메시지를 전달한다. SHAppBarMessage( ABM_SETSTATE, &stAppBarData ); }
그리고 복구하는 코드이다. 복구를 하지 않으면 사용자에게 불편을 초래할 수 있다.
- void CMyPlannerDlg::showWorkBar()
- {
- APPBARDATA stAppBarData;
- // 구조체 초기화
- ZeroMemory( &stAppBarData, sizeof stAppBarData );
- stAppBarData.cbSize = sizeof stAppBarData;
- // 작업 표시줄 핸들을 찾는다.
- stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL );
- stAppBarData.lParam |= ABS_ALWAYSONTOP;
- // 쉘 메시지를 전달한다.
- SHAppBarMessage( ABM_SETSTATE, &stAppBarData );
- }
void CMyPlannerDlg::showWorkBar() { APPBARDATA stAppBarData; // 구조체 초기화 ZeroMemory( &stAppBarData, sizeof stAppBarData ); stAppBarData.cbSize = sizeof stAppBarData; // 작업 표시줄 핸들을 찾는다. stAppBarData.hWnd = (HWND)FindWindow( _T("Shell_TrayWnd"), NULL ); stAppBarData.lParam |= ABS_ALWAYSONTOP; // 쉘 메시지를 전달한다. SHAppBarMessage( ABM_SETSTATE, &stAppBarData ); }
이렇게해서 간단히 구현할 수 있다.
반응형
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
[MFC] 윈도우에서 GetWindowRect, GetCllientRect를 통해 크기 얻기 (0) | 2011.04.13 |
---|---|
[상태바] 실행시 CStatues Bar 의 Prompt 문자열 제어하기 (0) | 2011.04.07 |
[Tip] 작업표시줄에 응용프로그램 나타나지 않게 (0) | 2011.04.04 |
[Tip] 인텔리젼스 구현 (0) | 2011.04.04 |
[Tip] 썸네일 리스트 미리보기 만들기 (0) | 2011.04.04 |
댓글