<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 8.5 打印對話框 你可以使用的打印對話框包括wxPageSetupDialog和wxPrintDialog以用來打印文檔. 不過,如果你使用wxWidgets的打印框架(包括wxPrintout, wxPrinter以及其它一些類)的話,你的代碼中很少需要顯式的調用這些對話框.更多關于打印的細節請參考第5章, "繪畫和打印." wxPageSetupDialog wxPageSetupDialog包含一些用來設置紙張大小(A4或者信紙大小等),打印方向(橫向或者縱向),以毫米為單位的邊框大小等控件還包括一個用來調用另外一個更詳細打印設置對話框的按鈕. 下圖演示了wxPageSetupDialog對話框在windows系統上的樣子: ![](img/mht65D2%281%29.tmp) 而下面的這個圖則是wxWidgets自己實現的使用GTK+的通用的打印設置對話框: ![](img/mht65E5%281%29.tmp) 如果使用了Gnome的打印庫,則GTK版本中的打印設置對話框將使用Gnome的原生對話框,如下圖所示: ![](img/mht65E8%281%29.tmp) Mac版本的打印對話設置對話框圖下圖所示: ![](img/mht65FA%281%29.tmp) 要創建一個打印設置對話框,你需要傳遞的參數包括一個父窗口和一個指向wxPageSetupDialogData對象的指針,后者用于指定以及從對話框獲取打印設置相關的數據,你可以以局部變量或者全局指針的方式創建打印設置對話框.構造函數中的打印設置數據將會被拷貝到打印設置對話框的內部數據中去,而GetPageSetupData函數可以用來獲取一個打印設置對話框內部數據的引用. wxPageSetupData成員函數 Ok函數在其內部數據有效的情況下返回True,在windows平臺上,如果沒有設置默認的打印機,這個函數可能返回False,在其它平臺上,這個函數總是返回True. SetMarginTopLeft函數使用wxPoint類型的參數以毫米為單位指定打印頁面的左邊距和上邊距. GetMarginTopLeft則用來獲取這兩個邊距. SetMarginBottomRight函數使用wxPoint類型的參數以毫米為單位設置打印頁面的右邊距和下邊距. GetMarginBottomRight則用來獲取這兩個邊距. SetPaperId使用標識符來代替具體的大小來設置頁面大小. 參考這個函數在手冊中的描述來獲取相關的標識符. GetPaperId則用來獲取當前設置的標識符. SetPaperSize采用一個wxSize參數來設置以毫米為單位的頁面大小. GetPaperSize則用來獲取對應的設置. EnableMargins允許或者禁用對話框上的邊界控制控件(僅適用于Windows). GetEnableMargins用來獲取這個設置的值. EnableOrientation用來允許或者禁止對話框上的打印方向控制控件(僅適用于Windows). GetEnableOrientation用來獲取這個設置的值. EnablePaper用來允許或者禁止對話框上選擇紙張大小的控件(僅適用于Windows). GetEnablePaper用來獲取這個設置的值. EnablePrinter用來允許或者禁止打印機按鈕,這個按鈕用來調用另外一個打印設置對話框. GetEnablePrinter用來獲取這個設置的值. wxPageSetupDialog使用舉例 ``` #include "wx/printdlg.h" void MyFrame::OnPageSetup(wxCommandEvent& event) { wxPageSetupDialog pageSetupDialog(this, & m_pageSetupData); if (pageSetupDialog.ShowModal() == wxID_OK) m_pageSetupData = pageSetupDialog.GetPageSetupData(); } ``` wxPrintDialog 這個對話框用來顯式打印及打印設置的標準對話框,當這個對話框關閉的時候你可以從中獲得一個wxPrinterDC對象的實例. 下圖演示了這個對話框在windows系統上的外觀: ![](img/mht65FD%281%29.tmp) 下面的兩幅圖分別演示了GTK版本中沒有使用Gnome打印庫和使用了GNome打印庫兩種情況下對應的這個對話框的樣子: ![](img/mht6610%281%29.tmp) ![](img/mht6613%281%29.tmp) 下圖則演示了Mac OSX上對應的樣子,從圖中可以看到,Mac在標準對話框中提供了預覽以及存為PDF文件的選項,你可以直接使用這個預覽功能. ![](img/mht6625%281%29.tmp) 要創建一個wxPrintDialog對象,你需要提供的參數包括一個父窗口指針,一個wxPrintDialogData對象的指針, 后者的內容將被拷貝給打印對話框內部的對象.如果你希望顯示一個打印設置對話框來代替打印對話框,你可以以True為參數調用 wxPrintDialogData:: SetSetupDialog函數,然后再將其傳遞給wxPrintDialog的構造函數.按照微軟的說法,雖然打印設置對話框已經被 wxPageSetupDialog所取代,但是一些老的程序可能還在使用以前的標準,因此,這樣作可以保證兼容性. 打印對話框被成功關閉的時候,你可以使用GetPrintDialogData函數來獲取一個wxPrintDialogData的引用. 調用對話框的GetPrintDC函數來獲取一個基于用戶選項的打印設備上下文,如果這個函數的返回值不為空,應用程序應該自己釋放這個被返回的對象. Ok函數在打印對話框內部數據有效的時候返回True,在windows平臺上,如果沒有設置默認的打印機,則Ok返回False,在其它平臺上,這個函數總是返回True. wxPrintDialogData的成員函數 EnableHelp允許或者禁止對話框上的幫助按鈕. GetEnableHelp用來獲取對應的設置. EnablePageNumbers允許或者禁止頁碼設置控件, GetEnablePageNumbers用來獲取對應的設置. EnablePrintToFile允許或者禁止打印到文件按鈕. GetEnablePrintToFile用來獲取對應的設置. EnableSelection允許或者禁止用于給用戶選擇打印范圍的單選框. GetEnableSelection用來獲取這個設置的值. SetCollate用來設置Collate復選框的值為True或者false. GetCollate來獲取這個復選框的值. SetFromPage和SetToPage用來設置打印的起始頁和終至頁. 使用GetFromPage和GetToPage來獲取相應的值. SetMinPage和SetMaxPage用來設置可以打印的最小頁數和最大頁數. GetMinPage和GetMaxPage則用來獲取相應的值. SetNoCopies用來設置默認打印份數. GetNoCopies用來獲取當前設置的打印份數. SetPrintToFile設置打印到文件的復選框的值. GetPrintToFile則用來獲取這個值的當前設定. SetSelection用來設置打印范圍單選框選項. GetSelection則用來返回這個選項的值. SetSetupDialog用來指示顯示打印設置對話框還是打印對話框. GetSetupDialog來獲取這個設置. SetPrintData設置內部的wxPrintData對象. GetPrintData則用來返回內部的wxPrintData對象的一個引用. wxPrintDialog使用舉例 下面的例子演示了怎樣顯示一個打印對話框以便獲取對應的打印上下文: ``` #include "wx/printdlg.h" void MyFrame::OnPrint(wxCommandEvent& event) { wxPrintDialogData dialogData; dialogData.SetFromPage(0); dialogData.SetToPage(10); wxPrintDialog printDialog(this, & m_dialogData); if (printDialog.ShowModal() == wxID_OK) { // 在調用GetPrintDC()以后, 應用程序 // 負責管理這個設備上下文 wxDC* dc = printDialog.GetPrintDC(); // 在這個設備上下文上繪畫 ... // 然后釋放它 delete dc; } } ``` 不過,通常你不需要自己直接調用打印對話框 .你應該使用wxWidgets提供的高層打印框架(參考第5章).在你調用wxPrinter::Print函數的時候將會自動顯示打印對話框.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看