最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年01月19日 15:24:32   投稿:hebedich  
這篇文章主要介紹了OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析,需要的朋友可以參考下

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

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

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

OnGetMinMaxInfo

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

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

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

復(fù)制代碼 代碼如下:

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

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

OnSizing

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

復(fù)制代碼 代碼如下:

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

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

OnSize

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

相關(guān)文章

  • 詳解C++編程中的重載流插入運(yùn)算符和流提取運(yùn)算符

    詳解C++編程中的重載流插入運(yùn)算符和流提取運(yùn)算符

    這篇文章主要介紹了詳解C++編程中的重載流插入運(yùn)算符和流提取運(yùn)算符,是C語(yǔ)言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • opencv2基于SURF特征提取實(shí)現(xiàn)兩張圖像拼接融合

    opencv2基于SURF特征提取實(shí)現(xiàn)兩張圖像拼接融合

    這篇文章主要為大家詳細(xì)介紹了opencv2基于SURF特征提取實(shí)現(xiàn)兩張圖像拼接融合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語(yǔ)言實(shí)現(xiàn)時(shí)區(qū)轉(zhuǎn)換函數(shù)的實(shí)例

    C語(yǔ)言實(shí)現(xiàn)時(shí)區(qū)轉(zhuǎn)換函數(shù)的實(shí)例

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)時(shí)區(qū)轉(zhuǎn)換函數(shù)的實(shí)例的相關(guān)資料,這里分析需求并提供實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2017-08-08
  • C語(yǔ)言實(shí)現(xiàn)注冊(cè)登錄系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)注冊(cè)登錄系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)注冊(cè)登錄系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C++學(xué)習(xí)之初始化列表詳解

    C++學(xué)習(xí)之初始化列表詳解

    這篇文章主要為大家詳細(xì)介紹了C++中初始化列表的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++有一定的幫助,需要的小伙伴可以了解一下
    2023-03-03
  • C++文件讀和寫的使用

    C++文件讀和寫的使用

    本文主要介紹了C++文件讀和寫的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C++實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃過程詳解

    C++實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃過程詳解

    動(dòng)態(tài)規(guī)劃是解決一類最優(yōu)問題的常用方法,它是解決最優(yōu)化問題的一種途徑,在本文中,我們將討論如何使用C++實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法,并提供一些示例來(lái)幫助您更好地理解該算法
    2023-05-05
  • 基于C語(yǔ)言EOF與getchar()的使用詳解

    基于C語(yǔ)言EOF與getchar()的使用詳解

    希望本文可以對(duì)初學(xué)C的朋友提供一點(diǎn)幫助,也希望能和其他朋友進(jìn)行交流。其中理解不對(duì)的地方若能得到指正和建議,本人將不勝感激
    2013-05-05
  • C語(yǔ)言實(shí)現(xiàn)繪制立體餅圖的示例代碼

    C語(yǔ)言實(shí)現(xiàn)繪制立體餅圖的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用C語(yǔ)言實(shí)現(xiàn)繪制立體餅圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • C語(yǔ)言實(shí)現(xiàn)五子棋對(duì)戰(zhàn)系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)五子棋對(duì)戰(zhàn)系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)五子棋對(duì)戰(zhàn)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論

普宁市| 南江县| 始兴县| 尚义县| 高碑店市| 东乌| 乐都县| 射洪县| 五河县| 江口县| 房产| 马鞍山市| 合水县| 应城市| 华亭县| 北流市| 广平县| 五寨县| 奉贤区| 静安区| 新余市| 义马市| 界首市| 云龙县| 米泉市| 东乡族自治县| 宜良县| 凤阳县| 孙吴县| 原平市| 馆陶县| 米脂县| 策勒县| 高州市| 上虞市| 阿勒泰市| 湘潭县| 陈巴尔虎旗| 土默特右旗| 青海省| 蒙山县|