Full Screen với SDI thì có 1 bài rùi, với Dialog thì sao nhỉ ??? [IMG]images/smilies/dont_know.gif[/IMG]
Với dialog tạo Full screen thì có 1 cách đơn giản là tạo ra 1 cái dialog ko có title bar và để nó với chế độ Maximize thì nó tức khắc sẽ Full Screen. [IMG]images/smilies/11.gif[/IMG] nhưng điều này có 1 hạn chế là khi bạn không muốn Full Screen nữa thì hơi khó [IMG]images/smilies/smile.png[/IMG] [quan điểm cá nhân].
Để tạo Full screen bạn tạo 1 prj bằng MFC với kiểu là dialog.
sau đó tạo 1 cái menu có 2 item là: Full screen (để Full screen), 1 item Exit (để kết thúc).
Đoạn code để load 1 menu Popup.
code:
Mã:
void CDemoFullScreenDlg::OnRButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CDialog::OnRButtonUp(nFlags, point); // Show Popup menu. CMenu menu; menu.LoadMenu(IDR_MENU1); CMenu *pMenu = menu.GetSubMenu(0); ClientToScreen(&point); pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x,point.y,AfxGetMainWnd()); }
đoạn code để tạo Fullscreen. (bắt Event Command của ID_FULLSCREEN [là ID của item Full Screen trong menu]).
Mã:
void CDemoFullScreenDlg::OnFullscreen() { // TODO: Add your command handler code here isFullScreen = !isFullScreen; if(isFullScreen) { // Set parrent of that is Desktop this->SetParent(NULL); // Get Rect of Desktop CRect rctWnd; // save this rect of Windows current. this->GetWindowRect(rectSave); GetDesktopWindow()->GetWindowRect(&rctWnd); // Modify Window Style this->ModifyStyle(WS_BORDER,0); // Set Pos for Window SetWindowPos(&wndTopMost,rctWnd.left,rctWnd.top,rctWnd.right,rctWnd.bottom,SWP_SHOWWINDOW); } else { this->ModifyStyle(0,WS_BORDER | WS_SYSMENU); SetWindowPos(&wndTopMost,rectSave.left,rectSave.top, abs(rectSave.right-rectSave.left),abs(rectSave.bottom-rectSave.top), SWP_SHOWWINDOW); }}
code để exit [IMG]images/smilies/smile.png[/IMG].
Mã:
void CDemoFullScreenDlg::OnExit() { // TODO: Add your command handler code here OnOK(); }
Ngoài ra trong class CDemoFullScreenDlg mình thêm 2 biến:
Mã:
BOOL isFullScreen; // cái này để quản lý coi trạng thái hiện tại là Fullscreen hay không? CRect rectSave; // cái này để lưu lại thông tin của dialog khi chưa Fullscreen để lấy lại.
Đây là Demo của bài viết này. [IMG]images/smilies/smile.png[/IMG].
Chúc các bạn vui vẽ.
Vệ sinh cá nhân là một phần quan yếu của sức khỏe nam giới. Dùng dung dịch vệ sinh mỗi ngày mang lại nhiều ích, giúp loại bỏ vi khuẩn và vi sinh vật gây hại, giúp khu vực cơ quan sinh dục luôn sạch...
Gel vệ sinh cu, bạn trai có nên...