까막's 블로그
분류 전체보기
(208)
Programming
(111)
Protocol - RUDP
(4)
MFC
(47)
컴파일&빌드에러
(2)
쉘(Shell)
(16)
DB-Library
(0)
윈도우 서비스
(28)
OpenSSL
(5)
MFC기초-윈도우 콤포넌트
(45)
에디트
(9)
스태틱
(7)
첵크&라디오
(4)
콤보박스
(7)
리스트박스
(4)
스크롤바
(5)
리스트컨트롤
(7)
기타
(2)
Private Space
(32)
Family
(5)
Soliloquy
(9)
MyData
(14)
내가 알아야할 것들
(3)
보안
(0)
상식
(8)
컴터 관리
(3)
이건 머하는 실행파일?
(5)
MSSQL
(8)
Home
Admin
MediaLog
LocationLog
Guestbook
Write
안녕하세요.. 까막의 티스토리입니다.
호피 스토리방
데브피아
SNAIPER의 조그마한 블로그
[UI] 차트FX -차트의 모든것
[UI] UI Platfrom - Extream Toolkit
SQL - FreeTDS (Making the leap to SQL Se…
VOIP - VOVIDA (SIP, H323, MGCP... all op…
[UI] KSDEV (Application Full Skin)
사랑해요 뽀로로 ^^
Microsoft MVP Program
/
/
블로그 내 검색
[팁] 풀 스크린 (SDI/ MDI)
까막백
2007. 5. 22. 13:18
2007. 5. 22. 13:18
올려짐: 토 8월 12, 2006 1:22 am
주제: [팁] 풀 스크린 (SDI/ MDI)
메인 프레임 헤더...
BOOL m_IsFullScreen;
WINDOWPLACEMENT m_wpPrev;
void SetFullScreen();
메인 프레임 소스...
void CMainFrame::SetFullScreen()
{
WINDOWPLACEMENT wpNew;
CRect rectDesktop;
if (!m_IsFullScreen)
{
// 툴바와 상태바를 감춘다.
m_wndStatusBar.ShowWindow(SW_HIDE);
m_wndToolBar.ShowWindow(SW_HIDE);
// 현재 윈도우의 위치를 얻어온다.
GetWindowPlacement (&m_wpPrev);
m_wpPrev.length = sizeof m_wpPrev;
::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop );
::AdjustWindowRectEx(&rectDesktop, GetStyle(), TRUE, GetExStyle());
wpNew = m_wpPrev;
wpNew.showCmd = SW_SHOWNORMAL;
wpNew.rcNormalPosition = rectDesktop;
m_IsFullScreen=TRUE;
}
else
{
m_IsFullScreen=FALSE;
// 툴바와 상태바를 보여준다.
m_wndStatusBar.ShowWindow(SW_SHOWNORMAL);
m_wndToolBar.ShowWindow(SW_SHOWNORMAL);
wpNew = m_wpPrev;
}
SetWindowPlacement ( &wpNew );
}
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
CRect rectDesktop;
::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop );
::AdjustWindowRectEx(&rectDesktop, GetStyle(), TRUE, GetExStyle());
// 윈도우의 최대 사이즈를 얻어온다.
if (m_IsFullScreen)
{
lpMMI->ptMaxSize.y = rectDesktop.Height();
lpMMI->ptMaxTrackSize.y = lpMMI->ptMaxSize.y;
lpMMI->ptMaxSize.x = rectDesktop.Width();
lpMMI->ptMaxTrackSize.x = lpMMI->ptMaxSize.x;
}
CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
//ALT + Enter를 누르면 풀 스크린이당 ^^
if(pMsg->message == WM_SYSKEYDOWN && pMsg->lParam == 0x201C0001)
SetFullScreen();
return CFrameWnd::PreTranslateMessage(pMsg);
}
MDI 일경우는...
차일드 프레임 소스...
void CChildFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
if(pFrame)
{
CRect rectDesktop;
::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop );
::AdjustWindowRectEx(&rectDesktop, GetStyle(), TRUE, GetExStyle());
// 윈도우의 최대 사이즈를 얻어온다.
if (pFrame->m_IsFullScreen)
{
lpMMI->ptMaxSize.y = rectDesktop.Height();
lpMMI->ptMaxTrackSize.y = lpMMI->ptMaxSize.y;
lpMMI->ptMaxSize.x = rectDesktop.Width();
lpMMI->ptMaxTrackSize.x = lpMMI->ptMaxSize.x;
}
}
CMDIChildWnd::OnGetMinMaxInfo(lpMMI);
}
공유하기
URL 복사
카카오톡 공유
페이스북 공유
엑스 공유
게시글 관리
구독하기
까막's 블로그
+ Recent posts
Powered by
Tistory
, Designed by
wallel
Rss Feed
and
Twitter
,
Facebook
,
Youtube
,
Google+
티스토리툴바
닫기
단축키
내 블로그
내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W
블로그 게시글
글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C
모든 영역
이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift
+
/
⇧
+
/
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.