• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            山寨:不是最好的,是最適合我們的!歡迎體驗(yàn)山寨 中文版MSDN

            Blog @ Blog

            當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見(jiàn)。 -- 聶魯達(dá)

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            BBS

            Blog

            Web

            最新評(píng)論

            GetWindowRect,GetClientRect,ScreenToClient MoveWindow SetWindowPos 用法說(shuō)明

            GetWindowRect() 得到的是在屏幕坐標(biāo)系下的RECT(即以屏幕左上角為原點(diǎn))
               
            GetClientRect() 得到的是在客戶區(qū)坐標(biāo)系下的RECT(即以所在窗口左上角為原點(diǎn),去掉了標(biāo)題欄計(jì)算,僅僅是個(gè)大小,返回值的左上角永遠(yuǎn)為0,0)
              
            ScreenToClient() 就是把屏幕坐標(biāo)系下的RECT坐標(biāo)轉(zhuǎn)換為客戶區(qū)坐標(biāo)系下的RECT坐標(biāo)。

            void   MoveWindow(   int   x,   int   y,   int   nWidth,   int   nHeight,   BOOL   bRepaint   =   TRUE   );  
              void   MoveWindow(   LPCRECT   lpRect,   BOOL   bRepaint   =   TRUE   );  
              參數(shù)  
              x指定了CWnd的左邊的新位置。  
              y指定了CWnd的頂部的新位置。  
              nWidth指定了CWnd的新寬度。  
              nHeight指定了CWnd的新高度。  
              bRepaint指定了是否要重畫(huà)CWnd。如果為T(mén)RUE,則CWnd象通常那樣在OnPaint消息處理函數(shù)中接收到一條WM_PAINT消息。如果 這個(gè)參數(shù)為FALSE,則不會(huì)發(fā)生任何類型的重畫(huà)操作。這應(yīng)用于客戶區(qū)、非客戶區(qū)(包括標(biāo)題條和滾動(dòng)條)和由于CWnd移動(dòng)而露出的父窗口的任何部分。當(dāng) 這個(gè)參數(shù)為FALSE的時(shí)候,應(yīng)用程序必須明確地使CWnd和父窗口中必須重畫(huà)的部分無(wú)效或重畫(huà)。lpRectCRect對(duì)象或RECT結(jié)構(gòu),指定了新的 大小和位置。說(shuō)明這個(gè)函數(shù)改變窗口的位置和大小。對(duì)于頂層的CWnd對(duì)象,x和y參數(shù)是相對(duì)于屏幕的左上角的。對(duì)于子對(duì)象,它們是相對(duì)于父窗口客戶區(qū)的左 上角的。  
              MoveWindow函數(shù)發(fā)送一條WM_GETMINMAXINFO消息。處理這個(gè)消息時(shí),CWnd得到一個(gè)改變最大和最小的窗口缺省值的機(jī)會(huì)。如果傳遞 給MoveWindow成員函數(shù)的參數(shù)超過(guò)了這些值,則在WM_GETMINMAXINFO處理函數(shù)中可以用最小或最大值來(lái)代替這些值。  
               
               
               
              CWnd::SetWindowPosBOOL   SetWindowPos(   const   CWnd*   pWndInsertAfter,   int   x,   int   y,   int   cx,   int   cy,UINT   nFlags   );  
              返回值如果函數(shù)成功,則返回非零值;否則返回0。  
              參數(shù)pWndInsertAfter標(biāo)識(shí)了在Z軸次序上位于這個(gè)CWnd對(duì)象之前的CWnd對(duì)象。這個(gè)參數(shù)可以是指向CWnd對(duì)象的指針,也可以是指向下 列值的指針:l   wndBottom       將窗口放在Z軸次序的底部。如果這個(gè)CWnd是一個(gè)頂層窗口,則窗口將失去它的頂層狀態(tài);系統(tǒng)將這個(gè)窗口放在其它所有窗口的底部。l   wndTop       將窗口放在Z軸次序的頂部。l   wndTopMost       將窗口放在所有非頂層窗口的上面。這個(gè)窗口將保持它的頂層位置,即使它失去了活動(dòng)狀態(tài)。wndNoTopMost       將窗口重新定位到所有非頂層窗口的頂部(這意味著在所有的頂層窗口之下)。這個(gè)標(biāo)志對(duì)那些已經(jīng)是非頂層窗口的窗口沒(méi)有作用。有關(guān)這個(gè)函數(shù)以及這些參數(shù)的使 用規(guī)則參見(jiàn)說(shuō)明部分。x指定了窗口左邊的新位置。y指定了窗口頂部的新位置。cx指定了窗口的新寬度。cy指定了窗口的新高度。nFlags指定了大小和 位置選項(xiàng)。這個(gè)參數(shù)可以是下列值的組合:l   SWP_DRAWFRAME       圍繞窗口畫(huà)出邊框(在創(chuàng)建窗口的時(shí)候定義)。l   SWP_FRAMECHANGED       向窗口發(fā)送一條WM_NCCALCSIZE消息,即使窗口的大小不會(huì)改變。如果沒(méi)有指定這個(gè)標(biāo)志,則僅當(dāng)窗口的大小發(fā)生變化時(shí)才發(fā)送 WM_NCCALCSIZE消息。l   SWP_HIDEWINDOW       隱藏窗口。SWP_NOACTIVATE       不激活窗口。如果沒(méi)有設(shè)置這個(gè)標(biāo)志,則窗口將被激活并移動(dòng)到頂層或非頂層窗口組(依賴于pWndInsertAfter參數(shù)的設(shè)置)的頂部。l   SWP_NOCOPYBITS       廢棄這個(gè)客戶區(qū)的內(nèi)容。如果沒(méi)有指定這個(gè)參數(shù),則客戶區(qū)的有效內(nèi)容將被保存,并在窗口的大小或位置改變以后被拷貝回客戶區(qū)。l   SWP_NOMOVE       保持當(dāng)前的位置(忽略x和y參數(shù))。l   SWP_NOOWNERZORDER       不改變擁有者窗口在Z軸次序上的位置。l   SWP_NOREDRAW       不重畫(huà)變化。如果設(shè)置了這個(gè)標(biāo)志,則不發(fā)生任何種類的變化。這適用于客戶區(qū)、非客戶區(qū)(包括標(biāo)題和滾動(dòng)條)以及被移動(dòng)窗口覆蓋的父窗口的任何部分。當(dāng)這個(gè) 標(biāo)志被設(shè)置的時(shí)候,應(yīng)用程序必須明確地?zé)o效或重畫(huà)要重畫(huà)的窗口和父窗口的任何部分。l   SWP_NOREPOSITION       與SWP_NOOWNERZORDER相同。l   SWP_NOSENDCHANGING       防止窗口接收WM_WINDOWPOSCHANGING消息。l   SWP_NOSIZE       保持當(dāng)前的大小(忽略cx和cy參數(shù))。l   SWP_NOZORDER       保持當(dāng)前的次序(忽略pWndInsertAfter)。l   SWP_SHOWWINDOW       顯示窗口。  
               
              調(diào)用這個(gè)成員函數(shù)以改變子窗口、彈出窗口和頂層窗口的大小、位置和Z軸次序。窗口在屏幕上按照它們的Z軸次序排序。在Z軸次序上處于頂端的窗口將程序在所 有其它窗口的頂部。子窗口的所有坐標(biāo)都是客戶坐標(biāo)(相對(duì)于父窗口客戶區(qū)的左上角)。窗口可以被移動(dòng)到Z軸次序的頂部,既可以通過(guò)將 pWndInsertAfter參數(shù)設(shè)為&wndTopMost,并確保沒(méi)有設(shè)置SWP_NOZORDER標(biāo)志,也可以通過(guò)設(shè)置窗口的Z軸次序使 它位于所有現(xiàn)存的頂層窗口上方。當(dāng)一個(gè)非頂層窗口被設(shè)為頂層窗口時(shí),它擁有的窗口也被設(shè)為頂層的。它的擁有者不發(fā)生變化。如果頂層窗口被重新定位到Z軸次 序的底部(&wndBottom)或任何非頂層窗口之后,則它將不再是頂層窗口。當(dāng)頂層窗口被變?yōu)榉琼攲哟翱跁r(shí),它所有的擁有者和它擁有的所有窗 口都被變?yōu)榉琼攲哟翱凇H绻葲](méi)有指定SWP_NOACTIVE標(biāo)志也沒(méi)有指定SWP_NOZORDER標(biāo)志(這意味著應(yīng)用程序要求窗口被同時(shí)激活并放入 指定的Z軸次序),則pWndInsertAfter參數(shù)中指定的值將只在下列環(huán)境下適用:l   在pWndInsertAfter參數(shù)中既沒(méi)有指定&wndTopMost也沒(méi)有指定&wndNoTopMost。  
              這個(gè)窗口不是活動(dòng)窗口。應(yīng)用程序不能激活一個(gè)非活動(dòng)窗口但同時(shí)又不把它帶到Z軸次序的頂部。應(yīng)用程序可以沒(méi)有任何限制地改變活動(dòng)窗口的Z軸次序。非頂層窗 口可能擁有一個(gè)頂層窗口,但是反之則不成立。任何被頂層窗口擁有的窗口(例如對(duì)話框)都將自己變?yōu)轫攲哟翱冢源_保所有被擁有的窗口位于它們的擁有者上 方。在Windows   3.1或更新的版本中,可以將窗口移動(dòng)到Z軸次序的頂部,并通過(guò)設(shè)置它們的WS_EX_TOPMOST風(fēng)格而將之鎖定在那里。這種頂層窗口即使在失去活動(dòng) 狀態(tài)以后也會(huì)保持頂層位置。例如,選擇WinHelp的Always   On   Top命令會(huì)使幫助窗口變?yōu)轫攲樱⑶以谀惴祷貞?yīng)用程序之后它還保持可見(jiàn)。要?jiǎng)?chuàng)建一個(gè)頂層窗口,應(yīng)在調(diào)用SetWindowPos的時(shí)候?qū)? pWndInsertAfter參數(shù)設(shè)為&wndTopMost,或者在創(chuàng)建窗口的時(shí)候設(shè)置WS_EX_TOPMOST風(fēng)格。如果Z軸次序中包含 了任何具有WS_EX_TOPMOST風(fēng)格的窗口,則用&wndTopMost移動(dòng)的窗口將被放到所有非頂層窗口的頂部,但是位于任何頂層窗口的 下面。當(dāng)應(yīng)用程序激活一個(gè)不具有WS_EX_TOPMOST風(fēng)格的非活動(dòng)窗口時(shí),該窗口將被移動(dòng)到所有非頂層窗口的上方,但是位于所有頂層窗口的下方。如 果在調(diào)用SetWindowPos的時(shí)候pWndInsertAfter參數(shù)被設(shè)為&wndBottom,并且CWnd是一個(gè)頂層窗口,則該窗口 失去頂層狀態(tài)(WS_EX_BOTTOM風(fēng)格被清除),并且系統(tǒng)將窗口放在Z軸次序的底部。 

            posted on 2009-05-29 15:51 isabc 閱讀(4628) 評(píng)論(0)  編輯 收藏 引用 所屬分類: VC界面

            廣告信息(免費(fèi)廣告聯(lián)系)

            中文版MSDN:
            歡迎體驗(yàn)

            久久久这里有精品中文字幕| 国产精品一久久香蕉国产线看| 亚洲国产精品无码久久久不卡| 伊人久久亚洲综合影院| 久久精品草草草| 国产成人久久777777| 日本三级久久网| 久久久久久亚洲精品无码| 久久久久久极精品久久久| 久久久久国产精品嫩草影院| 欧美一级久久久久久久大片| 久久男人中文字幕资源站| 伊人精品久久久久7777| 久久精品国产亚洲av麻豆图片| 99久久国产精品免费一区二区| 97久久国产露脸精品国产 | 久久精品国产精品亚洲毛片| 久久久久亚洲AV成人片 | 久久se精品一区精品二区国产 | 亚洲国产成人久久笫一页| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 无码国内精品久久人妻麻豆按摩| 人妻无码久久精品| 色欲综合久久躁天天躁蜜桃| WWW婷婷AV久久久影片| 久久996热精品xxxx| 麻豆久久久9性大片| 91精品国产乱码久久久久久| 久久播电影网| 久久天天躁狠狠躁夜夜网站 | 粉嫩小泬无遮挡久久久久久 | 日韩十八禁一区二区久久| 无码超乳爆乳中文字幕久久| 日本免费一区二区久久人人澡 | 久久久久亚洲av无码专区 | 欧美久久亚洲精品| av午夜福利一片免费看久久| 欧美午夜A∨大片久久| 99久久精品日本一区二区免费| 久久有码中文字幕| 人人狠狠综合久久亚洲88|