반응형
전체화면으로 처리할일이 생기는데 만약 작업표시줄을 없애야 한다면?
자동으로 숨기기 기능 코드이다. 바로 적용시키면 된다.
- {
- 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 |
댓글