亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 千奇百怪的窗體(窗口).htm

?? GDI編程的參考資料
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
      color=#ffff00>本站首頁</FONT></A>&nbsp;&gt;&gt;&nbsp;<A 
      href="http://www.czvc.com/content.asp?class=文檔視圖"><FONT 
      color=#ffff00>文檔視圖</FONT></A>&nbsp;&gt;&gt;&nbsp;<A 
      href="http://www.czvc.com/view.asp?id=242"><FONT 
      color=#ffff00>千奇百怪的窗體(窗口)</FONT></A></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=759 align=center border=0>
  <TBODY>
  <TR>
    <TD width=5 background=千奇百怪的窗體(窗口).files/back2.gif>&nbsp;</TD>
    <TD vAlign=top align=middle width=749 
background=千奇百怪的窗體(窗口).files/back3.gif>
      <TABLE width=749 border=0>
        <TBODY>
        <TR>
          <TD width="100%" colSpan=3 height=16>&nbsp;</TD></TR>
        <TR>
          <TD width="1%">&nbsp;</TD>
          <TD width="98%">
            <TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" 
            cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD style="FONT-SIZE: 22px" align=middle 
                height=60>千奇百怪的窗體(窗口)</TD></TR>
              <TR>
                <TD style="FONT-SIZE: 9pt" align=middle height=30><FONT 
                  color=#00ff00>2004-2-9</FONT>加入&nbsp;&nbsp;來自<FONT 
                  color=#00ff00>czvc</FONT>&nbsp;&nbsp;作者<FONT 
                  color=#00ff00>佚名</FONT>&nbsp;&nbsp;<FONT 
                  color=#00ff00>0</FONT>條評論&nbsp;&nbsp;點(diǎn)擊<FONT 
                  color=#ff0000>1232</FONT>次</TD></TR>
              <TR>
                <TD style="FONT-SIZE: 14px" 
                  width="100%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>VC++對話框的任意擴(kuò)展<BR>&nbsp;<BR>BULL77&nbsp;&nbsp;YESKY<BR><BR>  我們在信息輸入的時(shí)候,可能有很大的信息量,而這些信息又不是必須的,這時(shí)我們就需要給信息輸入人員一個選擇的接口。例如一個人事部門的職工信息錄入系統(tǒng)就有這樣的問題,其中的姓名、性別、年齡、政治面目、職務(wù)、學(xué)歷、部門和聯(lián)系電話是必須輸入的信息,而婚姻狀況、畢業(yè)學(xué)校、籍貫和健康狀況是可輸可不輸?shù)男畔⑶掖蠖鄶?shù)情況下不需要錄入,如何為信息錄入人員提供一個方便的輸入接口,下面我們就針對這個問題提供一個我認(rèn)為比較好的方法。<BR><BR>  第一步:在VC編程環(huán)境下建立一個基于對話框的工程,工程名為ExpandDlg,所有的選項(xiàng)都取默認(rèn)值。<BR><BR>  第二步:建立我們都對話框,其中必須要有這樣兩個控件,一個是PICTURE控件,一個為按鈕,其ID值分別為IDC_DIVIDER和IDC_MORE。其它的控件可以任意布局,最終結(jié)果就是對話框被IDC_DIVIDER控件分成了兩部分,其中下半部分可以根據(jù)你的愛好動態(tài)顯示或不顯示,對話框如下圖:<BR><BR>  第三步:生成按鈕IDC_MORE的消息映射函數(shù)OnMore,在ExpandDlgDlg.h中定義兩個函數(shù)如下:<BR><BR>public:<BR>void&nbsp;EnableVisibleChildren();<BR>void&nbsp;ExpandDialog&nbsp;(int&nbsp;nResourceID,&nbsp;BOOL&nbsp;bExpand);&nbsp;<BR><BR>  第四步:在ExpandDlgDlg.cpp中定義函數(shù)的實(shí)現(xiàn)代碼如下:<BR><BR>void&nbsp;CExpandDlgDlg::ExpandDialog&nbsp;(int&nbsp;nResourceID,&nbsp;BOOL&nbsp;bExpand)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;對話框被nResourceID分成上下兩部分,如果bExpand的值為TRUE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;對話框被完整顯示,否則對話框顯示上半部分。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;CRect&nbsp;rcLarge;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;CRect&nbsp;rcSmall;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString&nbsp;sExpand;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//開始時(shí),對話框只顯示上半部分<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rcLarge.IsRectNull())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;rcLandmark;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CWnd*&nbsp;pWndLandmark&nbsp;=&nbsp;GetDlgItem&nbsp;(nResourceID);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ASSERT(pWndLandmark);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetWindowRect&nbsp;(rcLarge);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pWndLandmark-&gt;GetWindowRect&nbsp;(rcLandmark);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcSmall&nbsp;=&nbsp;rcLarge;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcSmall.bottom&nbsp;=&nbsp;rcLandmark.top;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(bExpand)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//擴(kuò)展對話框到最大尺寸<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowPos(NULL,&nbsp;0,&nbsp;0,&nbsp;rcLarge.Width(),&nbsp;rcLarge.Height(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWP_NOMOVE&nbsp;|&nbsp;SWP_NOZORDER);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sExpand&nbsp;=&nbsp;"&lt;&lt;&nbsp;&amp;Less";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnableVisibleChildren();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//只顯示對話框的上半部分<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowPos(NULL,&nbsp;0,&nbsp;0,&nbsp;rcSmall.Width(),&nbsp;rcSmall.Height(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWP_NOMOVE&nbsp;|&nbsp;SWP_NOZORDER);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sExpand&nbsp;=&nbsp;"&nbsp;&amp;More&nbsp;&gt;&gt;";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnableVisibleChildren();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetDlgItemText&nbsp;(IDC_MORE,&nbsp;sExpand);<BR>}<BR><BR>void&nbsp;CExpandDlgDlg::EnableVisibleChildren()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//去掉沒有顯示的對話框的控件的功能和快捷鍵。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//得到第一個窗口<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CWnd&nbsp;*pWndCtl&nbsp;=&nbsp;GetWindow&nbsp;(GW_CHILD);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;rcTest;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;rcControl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect&nbsp;rcShow;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//得到對話框的完整矩形框<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetWindowRect(rcShow);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(pWndCtl&nbsp;!=&nbsp;NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;//得到當(dāng)前顯示的對話框的矩形尺寸<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pWndCtl-&gt;GetWindowRect&nbsp;(rcControl);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rcTest.IntersectRect&nbsp;(rcShow,&nbsp;rcControl))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pWndCtl-&gt;EnableWindow(TRUE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pWndCtl-&gt;EnableWindow(FALSE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//得到第二個矩形框<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pWndCtl&nbsp;=&nbsp;pWndCtl-&gt;GetWindow&nbsp;(GW_HWNDNEXT);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR>void&nbsp;CExpandDlgDlg::OnMore()&nbsp;<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;BOOL&nbsp;bExpand&nbsp;=&nbsp;TRUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExpandDialog&nbsp;(IDC_DIVIDER,&nbsp;bExpand);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bExpand&nbsp;=&nbsp;!bExpand;<BR>}&nbsp;<BR><BR>  按照上面的步驟生成我們的可執(zhí)行文件后運(yùn)行,點(diǎn)擊對話框上的〔More〕我們可以發(fā)現(xiàn)對話框擴(kuò)展,點(diǎn)擊〔Less〕后,我們發(fā)現(xiàn)對話框收縮,希望可以給你帶來方便。<BR>&nbsp;<BR><BR>使用VC創(chuàng)建不規(guī)則形狀窗口&nbsp;<BR>&nbsp;<BR>逸仙時(shí)空<BR><BR>仔細(xì)查看了一下WIN32的API,發(fā)現(xiàn)其實(shí)創(chuàng)建任意形狀的窗口其實(shí)也是很簡單的,在VC中簡單步驟如下:<BR><BR>  當(dāng)我們注冊并創(chuàng)建了一個窗口類以后,我們在WM_CREATE消息中做如下處理:<BR><BR>  (1)創(chuàng)建一個區(qū)域,使用CreatePolyonRgn,該函數(shù)創(chuàng)建一個多邊形區(qū)域,(也可以使用其他方法如CreateRectRgn創(chuàng)建矩形區(qū)域),該函數(shù)返回一個HRGN的句柄;<BR><BR>  (2)調(diào)用函數(shù)SetWindowRgn,即可設(shè)置窗口的形狀。<BR><BR>  補(bǔ)充說明的是,我們可以制作多個區(qū)域,然后用CombineRgn方法將多個區(qū)域合并為一個區(qū)域。這樣我們就可以制作出更為豐富多采的窗口了。<BR>&nbsp;<BR><BR><BR>VC編程實(shí)現(xiàn)IE風(fēng)格的界面&nbsp;<BR>&nbsp;<BR>劉&nbsp;濤··yesky<BR><BR>  使用過IE瀏覽器的朋友都知道IE界面上的扁平工具條、地址欄,扁平工具欄上的按鈕正常狀態(tài)下為扁平態(tài),按鈕上的圖像為灰色,當(dāng)鼠標(biāo)放在按鈕上時(shí),按鈕突起(這種狀態(tài)稱為手柄),并且其上的圖像變得鮮艷醒目,一些按鈕上還有漢字說明或標(biāo)有小黑三角的下拉按鈕,單擊時(shí)顯示下拉菜單,這些技術(shù)是怎么實(shí)現(xiàn)的呢,本文針對這些問題介紹了如何利用VC編程來實(shí)現(xiàn)它們。<BR><BR>  IE風(fēng)格的實(shí)現(xiàn)主要在主框架類的CMainFrame::OnCreate()實(shí)現(xiàn),它的主要思想如下:首先定義一個CReBar對象,用以作工具條、地址欄的容器,然后分別聲明圖像列表對象img用于存儲工具欄上按鈕的熱點(diǎn)圖像和正常狀態(tài)下顯示的圖像。為了顯示扁平工具欄,需要用CreateEx()函數(shù)創(chuàng)建CToolBar對象m_wndToolBar,用ModifyStyle()函數(shù)將工具欄的風(fēng)格設(shè)為扁平類型,你不能用CToolBar::Create()&nbsp;或&nbsp;CToolBar::&nbsp;SetBarStyle()設(shè)置這種新風(fēng)格。CToolBar&nbsp;類不支持TBSTYLE_FLAT。要解決這個問題,必須繞過CToolBar類,使用CWnd::ModifyStyle()。工具欄對象調(diào)用SetButtonInfo()設(shè)置按鈕的風(fēng)格為TBSTYLE_DROPDOWN,就可以將工具欄按鈕設(shè)置為附帶有下拉按鈕。至于按鈕帶有中文提示,用工具欄的SetButtonText()就可以輕松實(shí)現(xiàn)了。下面是實(shí)現(xiàn)IE風(fēng)格界面的部分代碼和注釋:<BR><BR>int&nbsp;CMainFrame::OnCreate(LPCREATESTRUCT&nbsp;lpCreateStruct)<BR>{<BR> CReBar&nbsp;m_wndReBar;//聲明CReBar對象<BR> CImageList&nbsp;img;//聲明圖像列表對象<BR> CString&nbsp;str;<BR> if&nbsp;(CFrameWnd::OnCreate(lpCreateStruct)&nbsp;==&nbsp;-1)<BR>  return&nbsp;-1;<BR> if&nbsp;(!m_wndReBar.Create(this))//創(chuàng)建CReBar對象<BR> {<BR>  TRACE0("Failed&nbsp;to&nbsp;create&nbsp;rebar\n");<BR>  return&nbsp;-1;&nbsp;//&nbsp;fail&nbsp;to&nbsp;create<BR> }<BR> if&nbsp;(!m_wndToolBar.CreateEx(this))//創(chuàng)建工具條對象<BR> {<BR>  TRACE0("Failed&nbsp;to&nbsp;create&nbsp;toolbar\n");<BR>  return&nbsp;-1;&nbsp;//&nbsp;fail&nbsp;to&nbsp;create<BR> }<BR> //&nbsp;set&nbsp;up&nbsp;toolbar&nbsp;properties<BR> m_wndToolBar.GetToolBarCtrl().SetButtonWidth(50,&nbsp;150);<BR> file://設(shè)置工具條上按鈕的最大、最小尺寸<BR> m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);<BR> file://工具條可以帶有下拉按鈕<BR> img.Create(IDB_HOTTOOLBAR,&nbsp;22,&nbsp;0,&nbsp;RGB(255,&nbsp;0,&nbsp;255));<BR> file://向圖像列表裝載熱點(diǎn)圖像資源,IDB_HOTTOOLBAR為熱點(diǎn)圖像資源ID<BR> m_wndToolBar.GetToolBarCtrl().SetHotImageList(&amp;img);//工具條裝載熱點(diǎn)圖像<BR> img.Detach();<BR> img.Create(IDB_COLDTOOLBAR,&nbsp;22,&nbsp;0,&nbsp;RGB(255,&nbsp;0,&nbsp;255));<BR> file://圖象列表裝載正常狀態(tài)的圖像資源,IDB_COLDTOOLBAR為圖像資源ID<BR> m_wndToolBar.GetToolBarCtrl().SetImageList(&amp;img);//將圖像裝入工具條<BR> img.Detach();<BR> m_wndToolBar.ModifyStyle(0,&nbsp;TBSTYLE_FLAT&nbsp;|&nbsp;TBSTYLE_TRANSPARENT);<BR> file://工具條為扁平風(fēng)格<BR> m_wndToolBar.SetButtons(NULL,&nbsp;9);//工具條上有9個按鈕<BR> //&nbsp;set&nbsp;up&nbsp;each&nbsp;toolbar&nbsp;button<BR> file://以下分別對九個按鈕分別設(shè)置風(fēng)格和按鈕漢語提示<BR> m_wndToolBar.SetButtonInfo(0,&nbsp;ID_BUTTON0,&nbsp;TBSTYLE_BUTTON,&nbsp;0);<BR> str.LoadString(IDS_&nbsp;BUTTON0);<BR> m_wndToolBar.SetButtonText(0,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(1,&nbsp;ID_BUTTON1,&nbsp;TBSTYLE_BUTTON,&nbsp;1);<BR> str.LoadString(IDS_&nbsp;BUTTON1);<BR> m_wndToolBar.SetButtonText(1,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(2,&nbsp;ID_BUTTON2,&nbsp;TBSTYLE_BUTTON,&nbsp;2);<BR> str.LoadString(IDS_&nbsp;BUTTON2);<BR> m_wndToolBar.SetButtonText(2,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(3,&nbsp;ID_BUTTON3,&nbsp;TBSTYLE_BUTTON,&nbsp;3);<BR> str.LoadString(IDS_&nbsp;BUTTON3);<BR> m_wndToolBar.SetButtonText(3,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(4,&nbsp;ID_BUTTON4,&nbsp;TBSTYLE_BUTTON,&nbsp;4);<BR> str.LoadString(IDS_&nbsp;BUTTON4);<BR> m_wndToolBar.SetButtonText(4,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(5,&nbsp;ID_BUTTON5,&nbsp;TBSTYLE_BUTTON,&nbsp;5);<BR> str.LoadString(IDS_&nbsp;BUTTON5);<BR> m_wndToolBar.SetButtonText(5,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(6,&nbsp;ID_BUTTON6,&nbsp;TBSTYLE_BUTTON&nbsp;|&nbsp;TBSTYLE_DROPDOWN,&nbsp;6);<BR> str.LoadString(IDS_&nbsp;BUTTON6);<BR> m_wndToolBar.SetButtonText(6,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(7,&nbsp;ID_BUTTON7,&nbsp;TBSTYLE_BUTTON,&nbsp;7);<BR> str.LoadString(IDS_&nbsp;BUTTON7);<BR> m_wndToolBar.SetButtonText(7,&nbsp;str);<BR> m_wndToolBar.SetButtonInfo(8,ID_BUTTON8,&nbsp;TBSTYLE_BUTTON&nbsp;|&nbsp;TBSTYLE_DROPDOWN,&nbsp;8);<BR> str.LoadString(IDS_&nbsp;BUTTON8);<BR> m_wndToolBar.SetButtonText(8,&nbsp;str);<BR> file://重新調(diào)整按鈕的尺寸<BR> CRect&nbsp;rectToolBar;<BR> m_wndToolBar.GetItemRect(0,&nbsp;&amp;rectToolBar);//得到工具條第一個按鈕的尺寸<BR> m_wndToolBar.SetSizes(rectToolBar.Size(),&nbsp;CSize(30,20));<BR> file://第一個參數(shù)為按鈕尺寸,第二個參數(shù)為圖像尺寸<BR> file://創(chuàng)建一個組合框作為地址欄<BR> if&nbsp;(!m_wndAddress.Create(CBS_DROPDOWN&nbsp;|&nbsp;WS_CHILD,&nbsp;CRect(0,&nbsp;0,&nbsp;200,&nbsp;120),&nbsp;this,&nbsp;AFX_IDW_TOOLBAR&nbsp;+&nbsp;1))<BR> {<BR>  TRACE0("Failed&nbsp;to&nbsp;create&nbsp;combobox\n");<BR>  return&nbsp;-1;&nbsp;//&nbsp;fail&nbsp;to&nbsp;create<BR> }<BR> file://加入工具欄、地址欄<BR> m_wndReBar.AddBar(&amp;m_wndToolBar);<BR> str.LoadString(IDS_ADDRESS);<BR> m_wndReBar.AddBar(&amp;m_wndAddress,&nbsp;str,&nbsp;NULL,&nbsp;RBBS_FIXEDBMP&nbsp;|&nbsp;RBBS_BREAK);<BR>file://定義REBARBANDINFO對象,對工具條和地址欄設(shè)置理想尺寸<BR> REBARBANDINFO&nbsp;rbbi;<BR> rbbi.cbSize&nbsp;=&nbsp;sizeof(rbbi);<BR> rbbi.fMask&nbsp;=&nbsp;RBBIM_CHILDSIZE&nbsp;|&nbsp;RBBIM_IDEALSIZE&nbsp;|&nbsp;RBBIM_SIZE;<BR> rbbi.cxMinChild&nbsp;=&nbsp;rectToolBar.Width();<BR> rbbi.cyMinChild&nbsp;=&nbsp;rectToolBar.Height();<BR> rbbi.cx&nbsp;=&nbsp;rbbi.cxIdeal&nbsp;=&nbsp;rectToolBar.Width()&nbsp;*&nbsp;9;<BR> m_wndReBar.GetReBarCtrl().SetBandInfo(0,&nbsp;&amp;rbbi);//設(shè)置工具欄尺寸<BR> rbbi.cxMinChild&nbsp;=&nbsp;0;<BR> CRect&nbsp;rectAddress;<BR> rbbi.fMask&nbsp;=&nbsp;RBBIM_CHILDSIZE&nbsp;|&nbsp;RBBIM_IDEALSIZE;<BR> m_wndAddress.GetEditCtrl()-&gt;GetWindowRect(&amp;rectAddress);<BR> rbbi.cyMinChild&nbsp;=&nbsp;rectAddress.Height()&nbsp;+&nbsp;10;<BR> rbbi.cxIdeal&nbsp;=&nbsp;200;<BR> m_wndReBar.GetReBarCtrl().SetBandInfo(2,&nbsp;&amp;rbbi);//設(shè)置地址欄尺寸<BR> m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()&nbsp;|<BR> CBRS_TOOLTIPS&nbsp;|&nbsp;CBRS_FLYBY&nbsp;|&nbsp;CBRS_SIZE_FIXED);&nbsp;<BR> if&nbsp;(!m_wndStatusBar.Create(this)&nbsp;||<BR>  !m_wndStatusBar.SetIndicators(indicators,<BR>  sizeof(indicators)/sizeof(UINT)))<BR>  {<BR>   TRACE0("Failed&nbsp;to&nbsp;create&nbsp;status&nbsp;bar\n");<BR>   return&nbsp;-1;&nbsp;//&nbsp;fail&nbsp;to&nbsp;create<BR>  }<BR>  return&nbsp;0;<BR> }&nbsp;<BR><BR>  以上代碼在Windows2000和Visual&nbsp;C++環(huán)境下編譯通過,程序運(yùn)行正常,有興趣的朋友可以動手親自實(shí)驗(yàn)一下。<BR>&nbsp;<BR><BR><BR>VC限制窗口大小又一法&nbsp;<BR>&nbsp;<BR>逸仙時(shí)空<BR><BR>  一般說見到的方法,,都是截獲WM_GETMAXMININFO消息。<BR><BR>  俺有另一經(jīng)驗(yàn)可實(shí)現(xiàn)之。<BR><BR>  由于一般窗口大小的改變,都是用戶拖動窗口邊框而造成的。所以,我們可以截獲主窗口消息WM_NCHITTEST在其響應(yīng)函數(shù)中判斷CWnd::OnNcHitTest()的返回值是否為HTRIGHT,HTLEFT,HTTOP,HTBOTTOM四個值之一,如果是,說明用戶此時(shí)已點(diǎn)擊了四個邊框之一,此時(shí)我們應(yīng)該返回HTCLIENT.那么,鼠標(biāo)的形狀就不會變成水平或垂直的雙向箭頭,用戶就不可能依靠拖動邊框來改變窗口大小了。<BR><BR>  另外,還應(yīng)補(bǔ)上一個小漏洞,就是還要把系統(tǒng)菜單中的SC_SIZE去掉。<BR>&nbsp;<BR><BR>主程序之前的版權(quán)窗口<BR>CPCW<BR><BR>WINAPI&nbsp;WinMain(HINSTANCE,&nbsp;HINSTANCE,&nbsp;LPSTR,&nbsp;int)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;lTime;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;Initialize();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox=new&nbsp;TAboutBox(AboutBox);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;BorderStyle=bsNone;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;OKButton-&gt;Visible=false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;Height=185;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;Show();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;Update();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lTime=GetTickCount();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;CreateForm(__classid(TMainForm),&nbsp;&amp;MainForm);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((GetTickCount()-lTime)&nbsp;/&nbsp;1000&nbsp;&lt;&nbsp;3);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;Hide();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutBox-&gt;Free();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;Run();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;&amp;exception)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;ShowException(&amp;exception);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;<BR>}<BR><BR><BR><BR>VISUAL&nbsp;C++6.0在MDI主框架窗口中添加位圖&nbsp;<BR>&nbsp;<BR>劉&nbsp;濤&nbsp;&nbsp;yesky<BR><BR>  筆者在開發(fā)項(xiàng)目時(shí)想在MDI程序中添加彩色位圖以美化界面,也實(shí)驗(yàn)了幾種方法,但都有一些小問題,經(jīng)多方查找資料,終于圓滿的實(shí)現(xiàn)了這種功能,現(xiàn)把我的實(shí)現(xiàn)方法介紹給大家。<BR><BR>  首先要清楚對于一個MDI應(yīng)用程序的主框架窗口來說包含一個特殊的子窗口稱為MDICLIENT窗口,應(yīng)用程序的主框架類中有一個成員變量m_hWndMDIClient&nbsp;指的就是MDICLIENT窗口。MDICLIENT窗口負(fù)責(zé)管理主框架窗口的客戶區(qū),對MDI客戶窗口編程有一定的難度。原因是MDIFrameWnd的客戶區(qū)完全被MDICLIENT窗口覆蓋掉了。這樣,MDI主窗口類MDIFrameWnd的背景色和光標(biāo)都不起作用。同時(shí),微軟并不支持將MDICLIENT窗口作為子類,MDICLIENT窗口只能使用標(biāo)準(zhǔn)的背景色和光標(biāo)。所以,對MDI客戶窗口編程不能象對普通窗口那樣簡單地重載WM_PAINT的消息處理函數(shù)。我們可以在主框架窗口截獲關(guān)于MDICLIENT窗口的重畫消息,然后加入自己設(shè)計(jì)的代碼。我用PreTranslateMessage(MSG*&nbsp;pMsg)&nbsp;截獲MDI客戶窗口WM_PAINT消息,在這個函數(shù)中向主框架窗口發(fā)送WM_PAINT消息,在該消息的處理函數(shù)中實(shí)現(xiàn)彩色位圖的顯示。我的具體實(shí)現(xiàn)如下:1、向程序添加256色彩色位圖資源,命名為IDB_BITMAP1;2、用ClassWizard向主框架類添加函數(shù)CMainFrame::PreTranslateMessage(MSG*&nbsp;pMsg);3、用ClassWizard向主框架類添加函數(shù)CMainFrame::OnPaint();現(xiàn)給出兩個函數(shù)的實(shí)現(xiàn):<BR><BR>BOOL&nbsp;CMainFrame::PreTranslateMessage(MSG*&nbsp;pMsg)&nbsp;<BR>{<BR> //&nbsp;TODO:&nbsp;Add&nbsp;your&nbsp;specialized&nbsp;code&nbsp;here&nbsp;and/or&nbsp;call&nbsp;the&nbsp;base&nbsp;class<BR> if(pMsg-&gt;hwnd==m_hWndMDIClient&nbsp;&amp;&amp;&nbsp;pMsg-&gt;message==WM_PAINT)<BR>  PostMessage(WM_PAINT);<BR>  return&nbsp;CMDIFrameWnd::PreTranslateMessage(pMsg);<BR> }<BR><BR> void&nbsp;CMainFrame::OnPaint()&nbsp;<BR> {&nbsp;<BR>  CDC&nbsp;dc,&nbsp;memdc;<BR>  dc.m_hDC=::GetDC(this-&gt;m_hWndMDIClient);<BR>  CRect&nbsp;rect;<BR>  CBitmap&nbsp;bitmap;<BR>  BITMAP&nbsp;szbitmap;<BR>  bitmap.LoadBitmap(IDB_BITMAP1);<BR>  bitmap.GetObject(sizeof(BITMAP),&amp;szbitmap);<BR>  CSize&nbsp;size(szbitmap.bmWidth,szbitmap.bmHeight);<BR>  memdc.CreateCompatibleDC(&amp;dc);<BR>  CBitmap&nbsp;*oldbitmap=memdc.SelectObject(&amp;bitmap);<BR>  GetClientRect(&amp;rect);<BR>  StretchBlt(dc.m_hDC,0,0,rect.Width(),rect.Height(),<BR>       memdc.m_hDC,0,0,size.cx,size.cy,SRCCOPY);<BR>  memdc.SelectObject(oldbitmap);<BR>  memdc.DeleteDC();<BR>  dc.DeleteDC();<BR>  CMDIFrameWnd::OnPaint();<BR> }&nbsp;<BR><BR>  按上述步驟就可以實(shí)現(xiàn)在MDI程序中顯示彩色位圖了,我舉的例子用的是256色位圖,你也可以實(shí)現(xiàn)真彩色位圖的顯示,具體方法我就不多說了,有興趣的朋友可以試一試。<BR></TD></TR>
              <TR>
                <TD height=8></TD></TR>
              <TR>
                <TD>【本文共有<FONT color=#ffff00>0</FONT>條評論信息】</TD></TR>
              <TR>
                <TD>
                  <HR color=red SIZE=1>
                </TD></TR>
              <TR>
                <TD align=right>【<A 
                  href="http://www.czvc.com/review.asp?id=242#send">我來說兩句</A>】&nbsp;&nbsp;【<A 
                  href="http://www.czvc.com/send.asp?id=242&amp;type=1">推薦信息</A>】&nbsp;&nbsp;【<A 
                  href="javascript:window.print()">打印本頁</A>】&nbsp;&nbsp;【<A 
                  href="javascript:window.close()">關(guān)閉窗口</A>】</TD></TR></TBODY></TABLE></TD>
          <TD width="1%">&nbsp;</TD></TR>
        <TR>
          <TD colSpan=3 height=8></TD></TR></TBODY></TABLE></TD>
    <TD width=5 
background=千奇百怪的窗體(窗口).files/back2.gif>&nbsp;</TD></TR></TBODY></TABLE>
<TABLE height=5 cellSpacing=0 cellPadding=0 width=759 align=center border=0>
  <TBODY>
  <TR>
    <TD width="100%" 
background=千奇百怪的窗體(窗口).files/back2.gif></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=8 width=759 align=center border=0>
  <TBODY>
  <TR>
    <TD align=middle height=30>Copyright &copy; <A 
      href="http://www.czvc.com/index.asp" target=_self><FONT 
      color=#ffff00>CZVC.com</FONT></A> 2002-2006 <A 
      href="mailto:info@czvc.com"><FONT color=#ffff00>一劍</FONT></A> 
      [QQ:28077188] All Rights 
Reserved.<BR>本站由北京市通信公司提供網(wǎng)絡(luò)支持</TD></TR></TBODY></TABLE></BODY></HTML>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影天堂| 亚洲欧美国产77777| 日本中文在线一区| 一区二区三区精品| 一区二区三区在线看| 亚洲综合色丁香婷婷六月图片| 国产精品久久久久天堂| 中文字幕+乱码+中文字幕一区| 久久久一区二区三区捆绑**| 国产亚洲精久久久久久| 国产丝袜欧美中文另类| 国产精品视频看| 中文字幕亚洲不卡| 一二三区精品视频| 午夜免费久久看| 日韩高清不卡一区| 国内精品第一页| 成人性生交大片免费看视频在线| 成a人片亚洲日本久久| 99热这里都是精品| 色偷偷久久一区二区三区| 国产欧美一区视频| 奇米四色…亚洲| 久久久久久免费| 久久午夜羞羞影院免费观看| 国产婷婷色一区二区三区在线| 欧美国产一区在线| 亚洲美女精品一区| 日韩和欧美的一区| 精品一区免费av| 成人一区二区三区在线观看| 91在线观看免费视频| 欧美性视频一区二区三区| 91精品国产欧美一区二区| 欧美白人最猛性xxxxx69交| 中文一区二区在线观看| 亚洲一区在线播放| 精品亚洲porn| 99久久精品费精品国产一区二区| 欧洲精品在线观看| 日韩久久免费av| 亚洲欧美自拍偷拍| 青青草成人在线观看| 国产成人亚洲精品青草天美 | 精品一区二区在线视频| 懂色av一区二区在线播放| 欧美色综合久久| 久久久久免费观看| 亚洲激情五月婷婷| 韩国午夜理伦三级不卡影院| 色综合天天综合狠狠| 欧美一区二区三区视频| 国产精品久久久久久妇女6080| 亚洲成人资源网| 成人精品免费网站| 欧美一级国产精品| 亚洲免费观看高清在线观看| 久久国产综合精品| 一本色道久久综合亚洲aⅴ蜜桃| 欧美一级国产精品| 一区二区日韩av| 国产福利91精品一区| 欧美日本在线播放| 国产精品麻豆99久久久久久| 免费精品视频最新在线| 色婷婷国产精品| 久久久www成人免费无遮挡大片| 亚洲国产欧美一区二区三区丁香婷| 国产精品一卡二卡在线观看| 欧美日韩一区二区三区不卡| 国产精品久久久久婷婷二区次| 卡一卡二国产精品| 欧美日韩一区二区三区高清 | 懂色av一区二区三区免费看| 欧美精品亚洲一区二区在线播放| 国产精品国产三级国产| 韩国毛片一区二区三区| 欧美丰满嫩嫩电影| 亚洲猫色日本管| 大胆欧美人体老妇| 久久综合999| 美国毛片一区二区三区| 欧美色图免费看| 亚洲人成在线播放网站岛国| 国产盗摄精品一区二区三区在线 | 亚洲免费三区一区二区| 国产91精品入口| 久久久久久久精| 国产一区二区三区日韩| 欧美大尺度电影在线| 琪琪久久久久日韩精品| 欧美久久高跟鞋激| 视频一区欧美日韩| 欧美军同video69gay| 亚洲国产aⅴ天堂久久| 日本韩国精品在线| 成人欧美一区二区三区小说| 成人激情小说乱人伦| 久久久久久影视| 国产风韵犹存在线视精品| 精品国产一区二区精华| 激情另类小说区图片区视频区| 日韩一区二区三区高清免费看看| 天堂av在线一区| 91精品国产免费久久综合| 天天射综合影视| 3atv在线一区二区三区| 日韩成人免费电影| 69精品人人人人| 日本亚洲免费观看| 欧美成人一区二区三区片免费| 日本强好片久久久久久aaa| 日韩一二三区视频| 九九**精品视频免费播放| 久久综合国产精品| 丰满少妇在线播放bd日韩电影| 欧美国产日韩a欧美在线观看| www.爱久久.com| 亚洲精品免费一二三区| 欧美裸体bbwbbwbbw| 强制捆绑调教一区二区| 国产三级一区二区| 99v久久综合狠狠综合久久| 亚洲国产精品综合小说图片区| 51久久夜色精品国产麻豆| 久久99精品国产91久久来源| 国产午夜精品一区二区| 97久久人人超碰| 五月天中文字幕一区二区| 日韩一级精品视频在线观看| 国产乱人伦偷精品视频不卡| 136国产福利精品导航| 欧美三级视频在线播放| 精品夜夜嗨av一区二区三区| 中文字幕乱码一区二区免费| 日本福利一区二区| 美女视频免费一区| 国产欧美一区二区三区在线看蜜臀 | 成人av电影免费观看| 一级女性全黄久久生活片免费| 在线综合视频播放| 国产成人av福利| 亚洲一区在线看| 久久免费国产精品| 91福利资源站| 经典一区二区三区| 亚洲免费av高清| 欧美变态凌虐bdsm| 色噜噜狠狠成人中文综合| 麻豆精品一二三| 亚洲人成网站影音先锋播放| 91精品国产福利在线观看 | 欧美丝袜丝交足nylons图片| 久久国产夜色精品鲁鲁99| 亚洲欧美一区二区在线观看| 4438成人网| 99re6这里只有精品视频在线观看| 日韩电影在线免费看| 国产精品黄色在线观看 | 午夜激情久久久| 精品中文av资源站在线观看| 成人精品视频一区二区三区尤物| 亚洲国产中文字幕| 欧美一区二区啪啪| 北岛玲一区二区三区四区| 免费欧美日韩国产三级电影| 中文字幕一区二区在线播放| 日韩美一区二区三区| 欧美午夜免费电影| 成人深夜视频在线观看| 男女性色大片免费观看一区二区 | 国产一区二区精品在线观看| 亚洲国产人成综合网站| 国产精品美女久久久久aⅴ| 欧美成人aa大片| 欧美日韩在线精品一区二区三区激情 | 性做久久久久久| 国产精品午夜免费| 26uuu国产日韩综合| 欧美日韩精品一区二区三区蜜桃| 成人一级视频在线观看| 91麻豆精品国产91久久久资源速度| 精品入口麻豆88视频| 欧美午夜在线一二页| 狠狠色综合播放一区二区| 亚洲成人av一区二区| 亚洲精品视频自拍| 国产精品剧情在线亚洲| 久久午夜色播影院免费高清| 日韩视频免费观看高清完整版在线观看| 91丨九色丨国产丨porny| 成人精品视频.| 国产传媒欧美日韩成人| 国产一区二区在线影院| 麻豆精品一区二区综合av| 日本亚洲三级在线| 日韩在线a电影| 日韩高清在线不卡| 日本三级亚洲精品| 奇米影视在线99精品|