怎樣改變視窗尺寸和移動視窗
今天小編給大家介紹一下吧。供大家參考!
電腦基礎知識-改變視窗尺寸和移動視窗
參考如下:
改變視窗尺寸:
一是移動滑鼠到視窗上下左右邊框上,當看到滑鼠變成上下或左右雙箭頭時,按下滑鼠左鍵不要鬆開,然後拖動視窗邊框到合適的地方放開滑鼠左鍵。
二是移動滑鼠到視窗任意一角當看到滑鼠變成斜雙箭頭時,按下滑鼠左鍵不要鬆開,然後拖動滑鼠到合適的地方放開左鍵。
三是利用控制選單命令改變視窗大小。
移動視窗:
一是移動滑鼠到視窗標題欄,按下滑鼠左鍵不要鬆開,然後拖動滑鼠到合適的地方放開左鍵。
二是移動滑鼠到工作列,右鍵單擊要移動的視窗名稱,在彈出選單中單擊選中“移動”,然後移動滑鼠到要移動的視窗標題欄,按下滑鼠左鍵不要鬆開,拖動滑鼠到合適的地方再放開左鍵。
三是利用控制選單命令移動視窗。
關鍵函式:
GetWindowRect***LPRECT***
GetClientRect***LPRECT***
ScreenToClient***LPRECT***
MoveWindow***LPRECT***
***注:這裡四個函式的引數既可以是CRect,也可以是CRect****
CWnd::GetWindowRect****** 的作用是獲取CWnd 視窗的座標位置,這個位置是以螢幕左上角為原點。***順便說一下,在視窗OnInitDialog 函式執行的時候,視窗的左上角是與螢幕左上角相重合的,在OnInitDialog 執行結束之後才被移動到螢幕中央並顯示。***
CWnd::GetClientRect****** 的作用也是獲取CWnd 視窗的座標位置,但是這個位置是以該CWnd 視窗自己的客戶區***不包括框架***左上角為原點,也就是說用這個函式獲取的CRect 的left 和top 都一定是0.
用上面兩個函式獲取到了視窗的座標CRect 之後、可以通過對CRect 的top、left、right、bottom 進行修改來設定一個想要的視窗的大小與位置。最後用MoveWindow****** 函式就可以把視窗移動到新的CRect 指定的矩形區裡去、並改變大小了。
假設現在有一個CDialog m_ChildDlg,則可以 m_ChildDlg.MoveWindow***rect***; 注意,這裡面的rect 必須是以m_ChildDlg 的父視窗為參照系的座標位置。如果m_ChildDlg 沒有父視窗,那麼螢幕桌面就是它的父視窗。這時可以直接 m_ChildDlg.GetWindowRect***rect***; 再m_ChildDlg.MoveWindow***rect***;
但如果m_ChildDlg 有自己的父視窗呢?分兩種情況:
1、m_ChildDlg 的左上角頂點座標與其父視窗的客戶區的左上角頂點座標重合。這時可以m_ChildDlg.GetClientRect***rect***; 再m_ChildDlg.MoveWindow***rect***;
2、否則。假設其父視窗是CDialog m_PDlg,這時必須m_ChildDlg.GetWindowRect***rect***; 然後m_PDlg.ScreenToClient***rect***; 最後才能m_ChildDlg.MoveWindow***rect***;
如果MoveWindow之後,介面上顯示有問題,不妨試一下InvalidateRect***rect***;//新增重繪區。
UpdateWindow******; //傳送並立即處理WM_PAINT,使重繪區重畫。
小編介紹了的相關知識:,希望你喜歡。