欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

最近用到窗口變化的一些東西,遇到幾個相關的消息函數(shù),簡要分析,作為備忘。

3個消息分別是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分別對應相應的處理函數(shù):OnSize、OnSizing、OnGetMinMaxInfo。

當窗口大小發(fā)生變化時,響應的順序依次是:WM_GETMINMAXINFO-->WM_SIZING-->WM_SIZE。

OnGetMinMaxInfo

這個函數(shù)在窗口初始化的時候會被調(diào)用一次,當窗口大小發(fā)生改變的時候也會被調(diào)用。利用這個函數(shù),可以比較方便的實現(xiàn)窗口最大最小尺寸的控制。

參數(shù)lpMMI是一個結構體指針,其中包含了有關窗口的最大化大小和位置以及最小、最大跟蹤大小的信息。

使用這個函數(shù)控制窗口最小尺寸的示例的代碼如下:

復制代碼 代碼如下:

void CXXXDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
    lpMMI->ptMinTrackSize.x = 500;    //x寬度
    lpMMI->ptMinTrackSize.y = 100;    //y高度
    CDialog::OnGetMinMaxInfo(lpMMI);
}

以上代碼可以使得窗口大小變化時,最小寬度為500px,最小高度為100px。

OnSizing

這個函數(shù)在窗口大小發(fā)生變化時被調(diào)用。在這個函數(shù)里,也可以控制窗口的最大最小尺寸,但是沒有OnGetMinMaxInfo方便。

復制代碼 代碼如下:

void CXXXDlg::OnSizing(UINT fwSide, LPRECT pRect)
{
    if ((pRect->right - pRect->left) < 500)
    {
        //return ;    //直接return是無效的,窗口大小還是會改變
        pRect->right = pRect->left + 500;
    }
    CDialog::OnSizing(fwSide, pRect);
}

用上面的方法,如果是從右邊改變大小,可以達到想要的效果,但是從左邊改變大小,雖然大小可以控制在最小500,但是當達到最小寬度后,再縮小,會發(fā)現(xiàn)整個窗口往右移動了,原因是代碼中的pRect->right = pRect->left + 500;這句是針對left來改變right的,所以left移動了,right也移動了,看上去就像是這個窗口右移了。所以針對這種情況又要另外做相應的處理。

OnSize

這個函數(shù)會在窗口大小改變結束后被調(diào)用,通常會在這個函數(shù)里重新擺放各個控件的位置及大小。用這個函數(shù)暫時沒有找到什么辦法可以控制窗口的最大最小大小。

上一篇:C語言求兩個字符串的最長公共子串

欄    目:C語言

下一篇:黑客帝國數(shù)字雨效果VC6源代碼分享

本文標題:OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3167.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有