獲取客戶區大小的辦法
在Win SDK程式設計過程中,難免會涉及到需要獲得客戶區的大小,那麼獲得客戶區大小有幾種方法呢?這裡我整理了常用的兩種。
使用GetClientRect()
廢話不多說,直接上程式碼:
// 響應什麼訊息都可以使用這個方法
RECT rect;
GetClientRect(&rect);
int cxClient = rect.right - rect.left; // 獲得客戶區寬度
int cyClient = rect.bottom - rect.top; // 獲得客戶區高度
使用WM_SIZE訊息的lParam引數
當客戶區在不停變化時,使用上述方法就有點捉襟見肘了。這時可以使用WM_SIZE訊息響應時,lParam引數可以提供客戶區的寬度和高度資訊。直接看程式碼:
case WM_SIZE:
int cxClient = LOWORD(lParam); // 獲得客戶區寬度
int cyClient = HIWORD(lParam); // 獲得客戶區高度
return 0;
總結
總而言之,我還是喜歡第二種方法,靈活多變,而且簡單方便。
相關推薦
獲取客戶區大小的辦法
在Win SDK程式設計過程中,難免會涉及到需要獲得客戶區的大小,那麼獲得客戶區大小有幾種方法呢?這裡我整理了常用的兩種。 使用GetClientRect() 廢話不多說,直接上程式碼: //
Lesson 4: 視窗大小和客戶區大小
當我們呼叫CreateWindowEx()函式時,我們使用了500*400來設定視窗的大小。然而,這和客戶區的大小是不一樣的。客戶區為視窗的一部分,遊戲軟體通常都在客戶區完成遊戲中的各種畫面、功能與效果的實現。 當使用Direct3D時,我們需要確定圖
Qt 無邊框無非客戶區視窗拖動、縮放改變大小、滑鼠變形,windows同款,完美實現
簡單點說,是在windows下實現視窗拖動和改變大小,一種方法是過載mousePressEvent系列全家福函式,然後在mouseMoveEvent中實現邊移滑鼠視窗就一邊重繪。這種方法網上資料很多,見下:這種方法缺點是移動的時候視窗閃爍厲害。摒棄。但該方法給了一個很好的思路
MFC獲取視窗和客戶區座標分析
CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE); pWnd->GetClientRect(&rect); //指該控制元件自身客戶區的矩形,原點為控制元件左上角,長寬為整個控制元件的尺寸 ClientToScreen(
C# 獲取控制元件在客戶區的座標,相對於頂級父容器的座標
/// <summary> /// 獲取控制元件在客戶區的座標,相對於頂級父容器的座標 /// </summary> /// <param name="c">
gparted在線擴分區大小
gpartedgparted在線擴分區空間(原數據不丟失)應用場景:如虛擬機上需要給linux系統增加分區,在vmware端增加大小後可在系統內通過gparted工具將原有分區大小擴容# apt-get install gparted# gparted (必須在圖形界面)右擊分區——resize——將全部空
Java獲取客戶端IP
不為 pty 獲取 code 中間 clas 代理服務器 gin servle 在開發工作中,我們常常需要獲取客戶端的IP。一般獲取客戶端的IP地址的方法是:request.getRemoteAddr();但是在通過了Apache,Squid等反向代理軟件就不能獲取到客戶端
分配粒度和內存頁面大小(x86處理器平臺的分配粒度是64K,內存頁是4K,所以section都是0x1000對齊,硬盤扇區大小是512字節,所以PE文件默認文件對齊是0x200)
tail details lpad 硬件 512字節 地址 系統 pad 原因 分配粒度和內存頁面大小x86處理器平臺的分配粒度是64K,32位CPU的內存頁面大小是4K,64位是8K,保留內存地址空間總是要和分配粒度對齊。一個分配粒度裏包含16個內存頁面。這是個概念,具體
Nginx限制IP訪問及獲取客戶端realip實戰
org 編譯安裝nginx .org 編譯安裝 rem blog 標簽 技術 code 做網站時經常會用到remote_addr和x_forwarded_for這兩個頭信息來獲取客戶端的IP,然而當有反向代理或者CDN的情況下,這兩個值就不夠準確了,需要調整一些配置
PHP 可以獲取客戶端哪些訪問信息
名稱 版本 charset ive rip set 並且 虛擬主機名 -1 php是一種弱類型的程序語言,但是最web的 在程序語言中有系統全局函數: $_SERVER <?php echo "".$_SERVER[‘PHP_SELF‘];#當前正在執行腳本
iOS 如何獲取屏幕大小
tle ren ios 9 代碼 src uiscreen 如何獲取 cati nts 1 2 UIScreen *currentScreen = [UIScreen mainScreen]; 3 4 NSLog(@"appl
ASP.NET獲取客戶端IP/用戶名等信息
username .net target list .get 獲取用戶信息 add dom 編程 1. 在ASP.NET中專用屬性: 獲取服務器電腦名:Page.Server.ManchineName 獲取用戶信息:Page.User 獲取客戶端電腦名:Page.Reque
CentOS下調整home和根分區大小
重新裝載 .cn style dev code 結果 一點 ont enc 由於我們有時候沒法預估或者說錯誤的盤符分區的時候,常常會導致我們後面的操作出現極大的不方便,這裏我就記錄下一個錯誤分區後對home和根分區存儲空間大小調整的整個過程! ①查看我們現有機器的
ruby連接liunx後臺返回/dev/sda分區大小
return command sta 名稱 host 返回 安裝 分區 star #安裝gems包:net-ssh#方法名稱:get_disk_size#作用:獲取/dev/sda分區的大小#作者: xiaowei require ‘net/ssh‘def get_disk
Win7系統下調整硬盤分區大小給C盤更多的空間
-1 鼠標 一個 ima 電腦安裝 壓縮 計算機名 操作 彈出 電腦安裝了很多程序,C盤空間越來越小了。如何給C盤調整更多的空間,其實只要調整硬盤分區大小便可解決這個問題,下面有個小技巧,需要的朋友照做就可以了 Win7系統下如何調整硬盤分區大小,以前裝系統的時候只給C盤
cocos2d-x JS 獲取屏幕大小或中點
rect super true s2d return ext size spa rec 以一張背景圖為例: var HelloWorldLayer = cc.Layer.extend({ ctor:function () {
linux下增加swap分區大小
linux swap官方建議RAM在2到4GB時,swap是RAM2倍;當RAM大於4GB時則swap等於RAM即可1、查看當前swap大小free -g2、設置swap大小dd if=/dev/zero of=/tmp/swap bs=1GB count=83、設置swap文件mkswap /tmp/
【轉】C#獲取客戶端及服務器端主機信息及其獲取IP地址
string c# forward ria 工具 ip地址 客戶 ext add 原文發布時間為:2009-10-28 —— 來源於本人的百度文章 [由搬家工具導入]小结:1、REMOTE_ADDR 不&
PHP通過URL獲取文件大小
files fsockopen func get class eof parse file pty function getFileSize($url){ $url = parse_url($url); if($fp = @fsoc
linux 邏輯卷管理 調整分區大小
host real rmi this 運行 linux 邏輯卷 meta 4.0 resize 測試機各種報錯,創建個目錄都報錯,df看了一下,發現VolGroup-lv_root 100%,虛擬磁盤滿了,怎麽辦呢1,解決過程 # df -h //查看分區 # um