MFC獲取視窗和客戶區座標分析
CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE);
pWnd->GetClientRect(&rect); //指該控制元件自身客戶區的矩形,原點為控制元件左上角,長寬為整個控制元件的尺寸
ClientToScreen(&rect); // 座標原點從控制元件所屬視窗客戶區移動到螢幕左上角,長寬為整個控制元件的尺寸,相當於把控制元件放在它所屬的客戶區的左上角時,在螢幕座標系中的位置
pWnd->GetWindowRect(&rect); //該控制元件相對電腦螢幕的座標,,原點為螢幕左上角,長寬為整個控制元件的尺寸
ScreenToClient(&rect); //移動視窗時未改變,所以是相對位置,從螢幕座標變換到客戶區座標,相當於該控制元件到客戶區
GetClientRect(&rect); //整個視窗自身客戶區的座標 ,原點為客戶區左上角,長寬為客戶區的尺寸
ClientToScreen(&rect); // 座標系從客戶區變換到螢幕, 該視窗客戶區在螢幕座標系中的位置
GetWindowRect(&rect); //整個視窗相對於電腦螢幕的座標,,原點為螢幕左上角,長寬為整個視窗的尺寸
ScreenToClient(&rect); //整個視窗在客戶區座標系下的位置
相關推薦
MFC獲取視窗和客戶區座標分析
CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE); pWnd->GetClientRect(&rect); //指該控制元件自身客戶區的矩形,原點為控制元件左上角,長寬為整個控制元件的尺寸 ClientToScreen(
邏輯座標與裝置座標——全視窗座標、螢幕座標、客戶區座標的總結
Windows應用程式繪製圖形時使用的是一種邏輯單位,每個邏輯單位的大小由對映模式決定,這個邏輯單位既可以與裝置單位(螢幕或印表機上的一個畫素點)相同,也可以是一種物理單位(如毫米),還可以是使用者自定義的一種單位。在Windows應用程式中,只要與輸出有關係,都要使用對映
MFC 中實現在客戶區拖動來拖動視窗的方法總結
VC++實現無標題欄對話方塊的拖動 其實說白了就是欺騙,欺騙誰了?呵呵,當然是欺騙windows,本來是移動標題欄可以拖動窗體,那麼我們現在是拖動客戶區來移動,當我們拖動標題欄的時候windows產生一個WM_NCHITTEST訊息,這個訊息確定滑鼠點選的哪個位置,這個訊息
Lesson 4: 視窗大小和客戶區大小
當我們呼叫CreateWindowEx()函式時,我們使用了500*400來設定視窗的大小。然而,這和客戶區的大小是不一樣的。客戶區為視窗的一部分,遊戲軟體通常都在客戶區完成遊戲中的各種畫面、功能與效果的實現。 當使用Direct3D時,我們需要確定圖
MFC獲取視窗可視狀態的兩種API方法
嚴以律己,寬以待人. 三思而後行. GMail/GTalk: yanglinbo#google.com; MSN/Email: tx7do#yahoo.com.cn; QQ: 3 0 3 3 9 6 9 2 0 .
VC----SDK下對視窗非客戶區的操作
視窗分成兩大部分:客戶區和非客戶區。非客戶區再次細分:標題欄,如圖片中頂部深藍色;左邊框,如圖片中紅色部分;上邊框,如圖片中綠色部分;右邊框,如圖片中右側天藍色部分;底邊框,如圖片中下面棕色部分。 之所以要有這樣的區分,是因為,我在用函式SystemParametersI
客戶區座標與成螢幕座標的相互轉換
客戶區座標轉換成螢幕座標 CPoint pt; pt=point;//假設point為客戶區座標 ClientToScreen(pt); 此後pt表示的就是螢幕座標 螢幕座標轉換成客戶區
[轉載]MFC子視窗和父視窗(SetParent,SetOwner)
一、概念和區別 在windows系統中,每個視窗物件都對應有一個數據結構,形成一個list連結串列。系統的視窗管理器通過這個list來獲取視窗資訊和管理每個視窗。這個資料結構中有四個資料用來構建list,即child、sibling、parent、owner四個域。所以我們可以看到,視窗之間的關係有兩種:ow
視窗非客戶區的繪製
7.最後要響應WM_NCMOUSEMOVE,WM_NCLBUTTONDOWN,WM_NCLBUTTONUP, WM_NCMOUSELEAVE,來處理Titlebar上的滑鼠動作.另外最好呼叫SetWindowTheme(hWnd, L"", L""),和DWORD dwAttr = 1;DwmSetWindo
MFC獲取視窗控制代碼的方法
AfxGetMainWnd AfxGetMainWnd獲取自身視窗控制代碼 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函式功能:該函式檢查與特定父視窗相聯的子視窗z序(Z序:垂直螢幕的方向,即疊放次序),並返回
MFC 獲取檔案和資料夾的路徑
1.獲取檔案的路徑 CFileDialog fileDlg(TRUE); fileDlg.m_ofn.lpstrTitle=L"開啟檔案"; //fileDlg.m_ofn.lpstrFilter
MFC中客戶區和非客戶區的區別&OnPaint和OnDrawn的區別
1.客戶區和非客戶區的區別: 在一個MDI(多文件)應用程式中每個概念如下圖所示: 視窗框架客戶區即藍色方框內區域,視窗框架非客戶區指藍色方框之外的視窗區域,包括程式圖示、標題欄、選單欄、最大\最小\關閉按鈕,左右邊框和底下的狀態條。 檢視的客戶區指圖中綠色部
獲得客戶區的邊界和獲得視窗的邊界
BOOL WINAPI GetClientRect( _In_ HWND hWnd, _Out_ LPRECT lpRect ); BOOL WINAPI GetWindowRect(
MFC修改視窗客戶區顏色
思路:響應WM_PAINT訊息,純色繪製客戶區 程式碼:在OnPaint中新增如下程式碼 CPaintDC dc(this); // device context for painting CRe
MFC客戶區拖動視窗實現
思路: 總共分2步 1 在OnLButtonDown中記住滑鼠點選的位置2 在OnMouseMove中處理視窗移動 程式碼: void CLoginDlg::OnLButtonDown(UINT nF
C# 獲取控制元件在客戶區的座標,相對於頂級父容器的座標
/// <summary> /// 獲取控制元件在客戶區的座標,相對於頂級父容器的座標 /// </summary> /// <param name="c">
滑鼠事件和座標獲取(視窗座標和螢幕座標)
本文主要介紹重寫自帶的一些方法,拾取螢幕和視窗座標資訊 效果如下: 分析: 定時服務:在固定一段時間後執行相關的函式方法,例如這裡表示的是在0秒後執行self.giveHelp這個方法 QTimer.singleShot(0, s
MFC中視窗控制代碼和控制元件控制代碼的獲取
1. 程式主視窗控制代碼的獲得 CWnd* p = AfxGetMainWnd();//函式AfxGetMainWnd()獲得主對話方塊的指標p HWND h = p->m_hW
Java獲取服務器IP和客戶端IP
audio sta ignorecas als style param servlet controls cal 服務器IP: String addr = InetAddress.getLocalHost().getHostAddress(); 說明:很明顯上面
獲取網頁和瀏覽器視窗的寬度和高度
情況一: // 獲取瀏覽器視窗可視區域的寬度 不包含滾動條 var width=document.body.clientWidth; // 獲取網頁內容的實際高度 var height=document.body.clientHeight; console.log(width,height