comdlg32.dll的功能?具体点,最好有例子。

解决方案 »

  1.   

    各种对话框
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    打开文件
    Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
    保存文件
    Private Declare Function ChooseColorAPI Lib "comdlg32.dll" Alias "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
    设置颜色
    Private Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As ChooseFont) As Long
    设置字体
    Private Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As PrintDlg) As Long
    打印对话框
    所需结构定义:
    Private Type OPENFILENAME 'Open & Save Dialog
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As String
    End TypePrivate Type CHOOSECOLOR 'Color Dialog
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        RGBResult As Long
        lpCustColors As String
        flags As Long
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As String
    End Type
              (  ">
               )(
              // )
    shannon--//""--
           -/[email protected]
      

  2.   

    Declare Function PRINTDLG Lib "comdlg32.dll" Alias _ 
    "PrintDlgA" (pPrintdlg As PRINTDLG) As Long 
     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    使用: Private Sub Command1_Click() 
     Dim p As PRINTDLG 
     p.lStructSize = Len(p) 
     p.hwndOwner = Me.hWnd 
     p.nFromPage = 1 
     p.nToPage = 1 
     p.nMinPage = 1 
     p.nMaxPage = 1 
     p.nCopies = 1 
     x = PRINTDLG(p) 
     Printer.Print Text1.Text 
    End Sub    在打印字符串时自动换行   其中 len1 为打印的宽度, Str 为打印的文本。 Do While Len(Str) > 0 
     str1 = Str 
     Do While len1 > 0 And Printer.TextWidth(str1) > len1 
      str1 = Left(str1, Len(str1) - 1) 
     Loop 
     Printer.Print str1 '打印 
     If Len(str1) = 0 Then Exit Do '不匹配 
      Str = Mid(Str, Len(Str1)+1) '截断! 
    Loop    打印机只打印一行   在 Win95 下,只有在使用 EndDoc 或 NewPage 时,打印机才开始打印,而且每次都要换页。使用以下的方法,可以只打印一行,并且可以把打印机的控制字符也直接发到打印机。 
    注意:如果打印机无汉字库,不能输出中文。 Open "PRN" For Output As #1 
    Print #1, "一行"    如何改变 Windows 预设的打印机?   在 VB 里面, 原本改变预设打印机的方法是:(假设安装有两种打印机(驱动程序)) Set Printer = Printers(0) ' 将预设打印机设定成第一种打印机 
    Set Printer = Printers(1) ' 将预设打印机设定成第二种打印机