以前没用过vb做项目,问题说的不明白,请看代码
   
   通过commonDialog调出了“打印”或者“打印设置”的窗体,在窗体中进行了纸张大小的设置,比如选了B5,那么在showPrinter这个方法调用完成之后,通过何种属性能知道已经选中的纸型呢?
     dlgPrint.CancelError = True
     dlgPrint.PrinterDefault = True
     'dlgPrint.Flags = cdlPDDisablePrintToFile + cdlPDNoSelection
     'dlgPrint.Flags = cdlPDPrintSetup
     dlgPrint.Orientation = cdlLandscape
     dlgPrint.ShowPrinter
     '在这儿如何知道选了什么纸型,该种纸型的实际大小又如何获得?
     '一般作打印时,如何响应VB帮助中列出来的多达40多种的纸型的?
     '如果不响应的话,那么如何去避免出错?回的都有分,分不够再补。

解决方案 »

  1.   

    又看了看精华区,有一个想法是不用commonDialog,自己做一个和“打印设置”界面相似的窗体,
    我觉得能实现功能,但这么做是不是有什么没考虑周全的地方?
      

  2.   

    建议用下面这个API函数:Private Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As PRINTDLG) As LongPrivate Type PRINTDLG
            lStructSize As Long
            hwndOwner As Long
            hDevMode As Long
            hDevNames As Long
            hdc As Long
            flags As Long
            nFromPage As Integer
            nToPage As Integer
            nMinPage As Integer
            nMaxPage As Integer
            nCopies As Integer
            hInstance As Long
            lCustData As Long
            lpfnPrintHook As Long
            lpfnSetupHook As Long
            lpPrintTemplateName As String
            lpSetupTemplateName As String
            hPrintTemplate As Long
            hSetupTemplate As Long
    End Type