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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chap5_6.htm

?? VC++編程實例。非常詳細
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>5.6 公用對話框</title>
</head>

<body link="#3973DE" alink="#3973DE" background="../../bg.gif">
<font SIZE="5"><b><div align="center"><center>

<table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
  <tr>
    </b><td><div align="center"><center><table border="0" width="615" cellpadding="0"
    cellspacing="0" height="20">
      <tr>
        <td width="377" bgcolor="#15397D" height="20"></td>
        <td width="238" bgcolor="#000000" height="20"><p align="right"></font><a
        href="../../vc.htm"><span style="text-decoration: none"><font color="#FFFFFF">電腦報Visual 
        C++網絡教程</font></span></a></td>
      </tr>
    </table>
    </center></div><font FACE="Times New Roman" SIZE="3"><b><p ALIGN="CENTER"></b></font><font
    FACE="Times New Roman" size="4" color="#3973DE">5.6 </font><font size="4" color="#3973DE">公用對話框</font><font
    FACE="Times New Roman" size="4"></p>
    </font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY"></font><span
    style="font-size: 9pt">在使用Windows的過程中,用戶經常會遇到一些常用的有特定用途的對話框。例如,當選擇File-&gt;Open,會彈出一個文件選擇的對話框,用戶可以在其中選擇想要打開的文件。象文件選擇這樣的對話框,使用的非常普遍,因此Windows系統本身提供了對該對話框的支持,用戶不必自己設計文件選擇對話框。與文件選擇對話框類似的還有顏色選擇、字體選擇、打印和打印設置以及正文搜索和替換對話框。這五種對話框均由Windows支持,被稱為公用對話框。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">MFC提供了一些公用對話框類,它們均是CDialog類的派生類,封裝了公用對話框的功能。表5.6列出了MFC的公用對話框類。</span><b></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt"> </span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt">表5.6 公用對話框類</span></b></p>
    <table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
      <tr>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">通用對話框類</span></td>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">用途</span></td>
      </tr>
      <tr>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">CColorDialog</span></td>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">選擇顏色</span></td>
      </tr>
      <tr>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFileDialog</span></td>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">選擇文件名,用于打開和保存文件</span></td>
      </tr>
      <tr>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFindReplaceDialog</span></td>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">正文查找和替換</span></td>
      </tr>
      <tr>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFontDialog</span></td>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">選擇字體</span></td>
      </tr>
      <tr>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">CPrintDialog</span></td>
        <td WIDTH="50%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">打印和打印設置</span></td>
      </tr>
    </table>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">通用對話框類使用方便,讀者只需知道怎樣創建對話框和訪問對話框的數據,不必關心它們的內部細節。</span></p>
    <b><p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">5.6.1 
    CColorDialog類</font></span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CColorDialog類用于實現Color(顏色選擇)公用對話框。Color對話框如圖5.12所示,在Windows的畫板程序中,如果用戶在顏色面板的某種顏色上雙擊鼠標,就會顯示一個Color對話框來讓用戶選擇顏色。</span></p>
    <p ALIGN="center"><span style="font-size: 9pt"><img src="T5_12.gif"
    alt="T5_12.tif (167359 bytes)" WIDTH="491" HEIGHT="321"></span></p>
    <p ALIGN="center"><span style="font-size: 9pt">圖5.12 Color對話框</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> </span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Color對話框的創建與一般的對話框沒什么兩樣:首先是在堆棧上構建一個CColorDialog對象,然后調用CColorDialog::DoModal( 
    )來啟動對話框。CColorDialog的構造函數為</span></p>
    <blockquote>
      <blockquote>
        <blockquote>
          <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CColorDialog( COLORREF clrInit = 0, DWORD 
          dwFlags = 0, CWnd* pParentWnd = NULL );</span></p>
        </blockquote>
      </blockquote>
    </blockquote>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">參數clrInit用來指定初始的顏色選擇,dwFlags用來設置對話框,pParentWnd用于指定對話框的父窗口或擁有者窗口。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">根據DoModal返回的是IDOK還是IDCANCEL可知道用戶是否確認了對顏色的選擇。DoModal返回后,調用CColorDialog::GetColor()可以返回一個COLORREF類型的結果來指示在對話框中選擇的顏色。COLORREF是一個32位的值,用來說明一個RGB顏色。GetColor返回的COLORREF的格式是0x00bbggrr,即低位三個字節分別包含了藍、綠、紅三種顏色的強度。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">讀者將在后面的章節中看到顏色選擇對話框的例子。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> </span></p>
    <p><b><span style="font-size: 9pt"> </span></p>
    <p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">5.6.2 
    CFileDialog類</font></span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFileDialog類用于實現文件選擇對話框,以支持文件的打開和保存操作。用戶要打開或保存文件,就會和文件選擇對話框打交道,圖5.13顯示了一個標準的用于打開文件的文件選擇對話框。用MFC 
    AppWizard建立的應用程序中自動加入了文件選擇對話框,在File菜單選Open或Save 
    As命令會啟動它們。</span></p>
    <p ALIGN="center"><span style="font-size: 9pt"><img src="T5_13.gif"
    alt="T5_13.tif (115270 bytes)" WIDTH="425" HEIGHT="250"></span></p>
    <p ALIGN="center"><span style="font-size: 9pt">圖5.13 文件選擇對話框</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">文件選擇對話框的創建過程與一般對話框的類似,首先是在堆棧上構建一個CFileDialog對象,然后調用CFileDialog::DoModal( 
    )來啟動對話框。文件對話框的構造函數為</span></p>
    <blockquote>
      <blockquote>
        <blockquote>
          <blockquote>
            <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFileDialog( BOOL bOpenFileDialog, LPCTSTR 
            lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | 
            OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );</span></p>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">如果參數bOpenFileDialog的值為TRUE,將創建Open(打開文件)對話框,否則就創建Save 
    As(保存文件)對話框。參數lpszDefExt用來指定缺省的文件擴展名。lpszFileName用于規定初始文件名。dwFlags用于設置對話框的一些屬性。lpszFilter指向一個過濾字符串,用戶如果只想選擇某種或某幾種類型的文件,就需要指定過濾字符串。參數pParentWnd是指向父窗口或擁有者窗口的指針。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">過濾字符串有特定的格式,它實際上是由多個子串組成,每個子串由兩部分組成,第一部分是過濾器的字面說明,如“Text 
    file (*.txt)”,第二部分是用于過濾的匹配字符串,如“*.txt”,子串的兩部分用豎線字符“ 
    | ”分隔開。各子串之間也要用“ | 
    ”分隔,且整個串的最后兩個字符必須是兩個連續的豎線字符“ || 
    ”。一個典型的過濾字符串如下面所示:</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">char szFilter[]=</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">“All files (*.*)|*.*|Text 
    files(*.txt)|*.txt|Word documents(*.doc)|*.doc||”;</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">若CFileDialog::DoModal返回的是IDOK,那么可以用表5.7列出的CFileDialog類的成員函數來獲取與所選文件有關的信息。</span></p>
    <p ALIGN="JUSTIFY"><b><span style="font-size: 9pt"> </span></p>
    <p ALIGN="CENTER"><span style="font-size: 9pt">表5.7 CFileDialog類輔助成員函數</span></b></p>
    <table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
      <tr>
        <td WIDTH="24%"><b><p ALIGN="JUSTIFY"><span style="font-size: 9pt">函數名</span></b></td>
        <td WIDTH="76%"><b><p ALIGN="JUSTIFY"><span style="font-size: 9pt">用途</span></b></td>
      </tr>
      <tr>
        <td WIDTH="24%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">GetPathName</span></td>
        <td WIDTH="76%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">返回一個包含有全路徑文件名的CString對象。</span></td>
      </tr>
      <tr>
        <td WIDTH="24%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">GetFileName</span></td>
        <td WIDTH="76%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">返回一個包含有文件名(不含路徑)的CString對象。</span></td>
      </tr>
      <tr>
        <td WIDTH="24%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">GetFileExt</span></td>
        <td WIDTH="76%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">返回一個只含文件擴展名的CString對象。</span></td>
      </tr>
      <tr>
        <td WIDTH="24%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">GetFileTitle</span></td>
        <td WIDTH="76%"><p ALIGN="JUSTIFY"><span style="font-size: 9pt">返回一個只含文件名(不含擴展名)的CString對象。</span></td>
      </tr>
    </table>
    <b><p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">5.6.3 
    CFindReplaceDialog類</font></span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFindReplaceDialog類用于實現Find(搜索)和Replace(替換)對話框,這兩個對話框都是非模態對話框,用于在正文中搜索和替換指定的字符串。圖5.14顯示了一個Find對話框,圖5.15顯示了一個Replace對話框。</span></p>
    <p ALIGN="center"><span style="font-size: 9pt"><img src="T5_14.gif"
    alt="T5_14.tif (55570 bytes)" WIDTH="389" HEIGHT="126"></span></p>
    <p ALIGN="center"><span style="font-size: 9pt">圖5.14 Find對話框</span></p>
    <p ALIGN="center"><span style="font-size: 9pt"><img src="T5_15.gif"
    alt="T5_15.tif (69140 bytes)" WIDTH="365" HEIGHT="168"></span></p>
    <p ALIGN="center"><span style="font-size: 9pt">圖5.15 Replace對話框</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> </span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">由于Find和Replace對話框是非模式對話框,它們的創建方式與其它四類公用對話框不同。CFindReplaceDialog對象是用new操作符在堆中創建的,而不是象普通對話框那樣以變量的形式創建。要啟動Find/Replace對話框,應該調用CFindReplaceDialog::Create函數,而不是DoModal。Create函數的聲明是</span></p>
    <blockquote>
      <blockquote>
        <blockquote>
          <blockquote>
            <blockquote>
              <p ALIGN="JUSTIFY"><span style="font-size: 9pt">BOOL Create( BOOL bFindDialogOnly, LPCTSTR 
              lpszFindWhat, LPCTSTR lpszReplaceWith = NULL, DWORD dwFlags = FR_DOWN, CWnd* pParentWnd = 
              NULL );</span></p>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">當參數bFindDialogOnly的值為TRUE時,創建的是Find對話框,為FALSE時創建的是Replace對話框。參數lpszFindWhat指定了要搜索的字符串,lpszReplaceWith指定了用于替換的字符串。dwFlags用來設置對話框,其缺省值是FR_DOWN(向下搜索),該參數可以是幾個FR_XXX常量的組合,用戶可以通過該參數來決定諸如是否要顯示Match 
    case、Match Whole Word檢查框等設置。參數pParentWnd指明了對話框的父窗口或擁有者窗口。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Find/Replace對話框與其它公用對話框的另一個不同之處在于它在工作過程中可以重復同一操作而對話框不被關閉,這就方便了頻繁的搜索和替換。CFindReplaceDialog類只提供了一個界面,它并不會自動實現搜索和替換功能。CFindReplaceDialog使用了一種特殊的通知機制,當用戶按下了操作的按鈕后,它會向父窗口發送一個通知消息,父窗口應在該消息的消息處理函數中實現搜索和替換。</span></p>
    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CFindReplaceDialog類提供了一組成員函數用來獲得與用戶操作有關的信息,如表5.8所示,這組函數一般應在通知消息處理函數中調用。</span></p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本美女一区二区三区视频| 日韩一区二区三区视频在线观看| 色8久久精品久久久久久蜜| 69p69国产精品| 中文字幕在线免费不卡| 老司机精品视频一区二区三区| 不卡的av电影| 欧美tickle裸体挠脚心vk| 亚洲女同ⅹxx女同tv| 国产河南妇女毛片精品久久久| 欧美日韩在线播放三区四区| 国产精品久久久久久久久快鸭 | 色国产综合视频| 久久久久久久综合日本| 日韩中文字幕区一区有砖一区| 色综合久久九月婷婷色综合| 久久精品夜色噜噜亚洲aⅴ| 五月婷婷综合激情| 欧美日韩精品一区二区在线播放| 中文字幕一区二区在线播放 | 91久久线看在观草草青青| 久久久久久久久久久久久夜| 久久99精品国产.久久久久久| 欧美视频一区二区三区在线观看| 欧美激情在线看| 国产成人av电影在线播放| 欧美tickling挠脚心丨vk| 免费观看一级特黄欧美大片| 欧美精品第1页| 首页国产丝袜综合| 欧美日韩美女一区二区| 亚洲成av人片| 日韩欧美中文一区| 国产一区不卡视频| 久久久久久久免费视频了| 国产精品资源在线观看| 欧美激情中文字幕一区二区| 不卡av在线网| 一区二区三区在线视频播放| 在线影视一区二区三区| 亚洲一区二区三区在线看| 欧美人xxxx| 久久疯狂做爰流白浆xx| 久久综合九色综合欧美98| 大胆亚洲人体视频| 亚洲精品视频在线| 欧美人动与zoxxxx乱| 久久99国产精品麻豆| 久久久www成人免费无遮挡大片| 粉嫩嫩av羞羞动漫久久久| 国产精品毛片久久久久久久| 91黄色在线观看| 视频一区视频二区中文字幕| wwwwww.欧美系列| 99麻豆久久久国产精品免费| 亚洲丶国产丶欧美一区二区三区| 91精品国产全国免费观看| 国内精品伊人久久久久av影院| 国产精品久久久久久久裸模| 欧美亚洲动漫精品| 精品一区二区三区免费视频| 中国色在线观看另类| 欧美日韩视频在线一区二区| 国产一区999| 一区二区三区免费看视频| 91 com成人网| 懂色av中文一区二区三区| 亚洲一区在线视频| 久久精品人人爽人人爽| 欧美性生活大片视频| 国产在线视频一区二区三区| 一区二区三区91| 亚洲精品一区二区三区香蕉| 99久久婷婷国产综合精品电影| 午夜精品国产更新| 国产精品网友自拍| 日韩欧美国产电影| 91国产成人在线| 丁香婷婷综合激情五月色| 亚洲aaa精品| 亚洲日本青草视频在线怡红院 | 91久久精品网| 国产99久久久精品| 蜜臀av一区二区在线免费观看| 亚洲人xxxx| 国产日韩av一区| 欧美tickling网站挠脚心| 欧洲av一区二区嗯嗯嗯啊| 国产999精品久久| 九色综合狠狠综合久久| 无码av中文一区二区三区桃花岛| 1区2区3区国产精品| 久久久久久久久岛国免费| 7777精品伊人久久久大香线蕉经典版下载 | 91丨九色丨黑人外教| 国产一区二区伦理| 日韩成人伦理电影在线观看| 成人免费一区二区三区在线观看| 欧美成人综合网站| 欧美一级夜夜爽| 欧美日韩高清一区二区| 日本韩国精品一区二区在线观看| 成人永久aaa| 国产福利精品导航| 美女尤物国产一区| 欧美v亚洲v综合ⅴ国产v| 亚洲午夜在线视频| 最新中文字幕一区二区三区| 久久在线观看免费| 91精品国产色综合久久不卡蜜臀 | 欧美特级限制片免费在线观看| 国产**成人网毛片九色 | 奇米888四色在线精品| 亚洲一区在线免费观看| 一区二区三区免费观看| 亚洲乱码国产乱码精品精98午夜| 国产精品国产精品国产专区不蜜| 国产精品色呦呦| 亚洲欧美一区二区不卡| 亚洲女与黑人做爰| 亚洲综合成人网| 亚洲成av人片在线观看无码| 日韩精品一卡二卡三卡四卡无卡| 天天综合网 天天综合色| 日韩av网站在线观看| 久久精品国产澳门| 国产综合成人久久大片91| 国产精品一二三四| 99精品国产一区二区三区不卡| 色999日韩国产欧美一区二区| 欧美性色欧美a在线播放| 在线综合视频播放| 2欧美一区二区三区在线观看视频| 久久精品人人做人人爽97| 中文字幕一区二区三区在线不卡| 亚洲蜜桃精久久久久久久| 午夜久久福利影院| 国产一区久久久| 成人av资源网站| 欧美另类一区二区三区| 欧美成人精品福利| 1024国产精品| 日韩vs国产vs欧美| 国产大陆亚洲精品国产| 欧美综合天天夜夜久久| 日韩欧美国产一区二区在线播放| 国产清纯在线一区二区www| 1000精品久久久久久久久| 亚洲永久精品国产| 国产成人在线电影| 欧美午夜精品理论片a级按摩| 欧美大片在线观看一区| 国产精品国产三级国产有无不卡 | 成人性生交大片免费看视频在线 | 国产欧美1区2区3区| 一区二区三区在线观看网站| 精品一区在线看| 91久久精品网| 国产欧美一区二区三区鸳鸯浴| 亚洲一区中文日韩| 国产91精品精华液一区二区三区| 精品视频一区二区三区免费| 国产亚洲欧美激情| 日本欧美一区二区三区| 91免费看片在线观看| 亚洲精品一区二区三区福利| 一区二区三区**美女毛片| 丰满放荡岳乱妇91ww| 日韩三级电影网址| 婷婷国产在线综合| 色哟哟国产精品| 国产精品久久久久影院老司| 久久精品国产77777蜜臀| eeuss国产一区二区三区| 久久久久久电影| 美女在线视频一区| 欧美精品日韩一本| 亚洲一区在线观看视频| 91色婷婷久久久久合中文| 国产欧美日韩三区| 国内精品第一页| 制服丝袜国产精品| 亚洲国产日韩一区二区| 91蜜桃传媒精品久久久一区二区| 久久色在线视频| 国产不卡高清在线观看视频| 欧美一区二区三区啪啪| 婷婷六月综合亚洲| 欧美三级三级三级爽爽爽| 亚洲日本在线视频观看| av在线综合网| 国产精品麻豆网站| 成人综合激情网| 欧美国产丝袜视频| 高清不卡一区二区在线| 欧美成人一区二区| 麻豆成人久久精品二区三区红 | 亚洲国产综合色| 色噜噜狠狠色综合中国| 亚洲色图制服丝袜|