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

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

?? cmultipgpreview.cls

?? 打印預覽程序
?? CLS
?? 第 1 頁 / 共 4 頁
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsMultiPgPreview"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'/*************************************/
'/* Author: Morgan Haueisen
'/*         morganh@hartcom.net
'/* Copyright (c) 1998-2003
'/*************************************/
'Legal:
'        This is intended for and was uploaded to www.planetsourcecode.com
'
'        Redistribution of this code, whole or in part, as source code or in binary form, alone or
'        as part of a larger distribution or product, is forbidden for any commercial or for-profit
'        use without the author's explicit written permission.
'
'        Redistribution of this code, as source code or in binary form, with or without
'        modification, is permitted provided that the following conditions are met:
'
'        Redistributions of source code must include this list of conditions, and the following
'        acknowledgment:
'
'        This code was developed by Morgan Haueisen.  <morganh@hartcom.net>
'        Source code, written in Visual Basic, is freely available for non-commercial,
'        non-profit use at www.planetsourcecode.com.
'
'        Redistributions in binary form, as part of a larger project, must include the above
'        acknowledgment in the end-user documentation.  Alternatively, the above acknowledgment
'        may appear in the software itself, if and wherever such third-party acknowledgments
'        normally appear.

Option Explicit

Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Private Declare Function GetBkColor Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'/* Flag indicating Printing or Previewing
Private PrintFlag As Boolean

'/* Object used for Print Preview
Private ObjPrint As Control

'/* Storage for the Printer's orignal scale mode
Private pSM As Integer
'/* Storage for the Object's orignal scale mode
Private oSM As Integer
'/* Default Scale Mode
Private oScaleMode As Integer

'/* The actual printable area (something a little less then the paper size)
Private PgWidth As Single
Private PgHeight As Single
Private oOrientation As Integer

'/* Remember ColorMode
Private oColorMode As Byte

'/* Remember Header Information
Private oTitleMain As String
Private oTitleSub As String
Private oTitleItalic As Boolean

Private PageNumber As Integer
Private TempDir As String

Public Enum PageOrientation
    PagePortrait = vbPRORPortrait
    PageLandscape = vbPRORLandscape
End Enum

Public Enum PrinterColorModeTypes
    cmMonochrome = vbPRCMMonochrome
    cmColor = vbPRCMColor
End Enum

'-----rotate fonts
Private Const LF_FACESIZE = 32
Private Type LOGFONT
    lfHeight As Long
    lfWidth As Long
    lfEscapement As Long
    lfOrientation As Long
    lfWeight As Long
    lfItalic As Byte
    lfUnderline As Byte
    lfStrikeOut As Byte
    lfCharSet As Byte
    lfOutPrecision As Byte
    lfClipPrecision As Byte
    lfQuality As Byte
    lfPitchAndFamily As Byte
    lfFaceName As String * LF_FACESIZE
End Type

Private Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal lpString As String, ByVal nCount As Long) As Long ' or Boolean
Public Sub pPrintRotate(Optional ByVal PrintVar As String = vbNullString, _
                         Optional ByVal Degree As Integer = 0, _
                         Optional ByVal LeftMargin As Single = -1)
                       
'/* By Diomidis Kiriakopoulos modified by Me

    If PrintVar = vbNullString Then Exit Sub
    If Degree > 359 Then
        Degree = 359
    ElseIf Degree < 0 Then
        Degree = 0
    End If
    If LeftMargin = -1 Then
        LeftMargin = CurrentX
    Else
        CurrentX = LeftMargin
    End If
    
    On Local Error GoTo GetOut
    
    Dim F As LOGFONT, hPrevFont As Long, hFont As Long
    Dim ObjhDC As Long, X As Long, Y As Long
    
    '/* Save the hDC.
    If PrintFlag Then
        Printer.Print "";
        ObjhDC = Printer.hdc
        F.lfHeight = (FontSize * -20) / Printer.TwipsPerPixelY
        X = Printer.CurrentX * 600 '/* Printer dots/inch
        Y = Printer.CurrentY * 600
    Else
        ObjhDC = ObjPrint.hdc
        F.lfHeight = (FontSize * -20) / Screen.TwipsPerPixelY
    End If
        
    F.lfEscapement = 10 * Degree         '/* rotation angle, in tenths
    F.lfFaceName = FontName & vbNullChar '/* null terminated
    hFont = CreateFontIndirect(F)
    
    hPrevFont = SelectObject(ObjhDC, hFont)
  
    If PrintFlag Then
        '/* Draw the text.
        TextOut ObjhDC, X, Y, PrintVar, Len(PrintVar)
    Else
        ObjPrint.Print PrintVar;
    End If
  
    '/*  Clean up, restore original font
    hFont = SelectObject(ObjhDC, hPrevFont)
    DeleteObject hFont
    
GetOut:
    On Local Error GoTo 0

End Sub

Public Sub pCenterMultiline(ByVal PrintVar As Variant, _
                      Optional ByVal LeftMargin As Single = 0, _
                      Optional ByVal RightMargin As Single = -1, _
                      Optional RemoveCrLf As Boolean = True, _
                      Optional SameLine As Boolean = False)
 
  Dim StartChar As Integer
  Dim CharLength As Single
  Dim CurrentPos As Single
  Dim TxtLen As Single
  Dim TxtWidth As Single
  Dim tString As String
  Dim NeedsStrip As Boolean
  Dim ColWidth As Single
  Dim X As Integer, Y As Integer
 
    If RightMargin = -1 Then RightMargin = PgWidth
    ColWidth = RightMargin - LeftMargin
    
    TxtLen = Len(PrintVar)
    StartChar = 1
    CurrentPos = 0
    CharLength = TxtLen
 
    If PrintVar = vbNullString Then
        pPrint
        Exit Sub
    End If
    
    If InStr(PrintVar, vbCr) Or InStr(PrintVar, vbLf) Then NeedsStrip = True
    
    For X = 1 To TxtLen
        Y = X - CurrentPos
        
        '/* Mark space between words
        If Mid(PrintVar, X, 1) < Chr(33) Then CharLength = Y
        
        If (GetTextWidth(Mid(PrintVar, StartChar, Y)) >= ColWidth) _
            Or (Not RemoveCrLf And Mid(PrintVar, X, 1) = vbCr) Then
           
            '/* If there are no spaces then break line here */
            If CharLength > Y Then CharLength = Y - 1
            
            tString = Trim(Mid(PrintVar, StartChar, CharLength))
            If NeedsStrip Then tString = GetRemoveCRLF(tString)
            CurrentX = LeftMargin + ((ColWidth - GetTextWidth(tString)) / 2)
            If PrintFlag Then
                Printer.Print tString
            Else
                ObjPrint.Print tString
            End If
            
            CurrentPos = CharLength + CurrentPos
            StartChar = CurrentPos + 1
            CharLength = TxtLen
           
        End If
    Next X

    tString = Trim(Mid(PrintVar, StartChar))
    If NeedsStrip Then tString = GetRemoveCRLF(tString)
    CurrentX = LeftMargin + ((ColWidth - GetTextWidth(tString)) / 2)
    If PrintFlag Then
        If SameLine Then
            Printer.Print tString;
        Else
            Printer.Print tString
        End If
    Else
        If SameLine Then
            ObjPrint.Print tString;
        Else
            ObjPrint.Print tString
        End If
    End If
    
End Sub


Public Property Let PrintCopies(pNumber As Integer)
    On Local Error Resume Next
    Printer.Copies = pNumber
    On Local Error GoTo 0
End Property

Public Property Get PrintCopies() As Integer
    On Local Error Resume Next
    PrintCopies = Printer.Copies
    On Local Error GoTo 0
End Property

Public Sub pCancled()
    FontSize = 12
    FontBold = True
    ForeColor = vbRed
    pPrint
    pPrint "**** PRINTING CANCLED ****", 0.5
End Sub

Public Sub pMultiline(ByVal PrintVar As Variant, _
                      Optional ByVal LeftMargin As Single = -1, _
                      Optional ByVal RightMargin As Single = -1, _
                      Optional ByVal IndentChar As String = vbNullString, _
                      Optional SameLine As Boolean = False, _
                      Optional UsePageBreaks As Boolean = True)
 
  Dim StartChar As Integer
  Dim SecondLine As Boolean
  Dim CharLength As Single
  Dim CurrentPos As Single
  Dim TxtLen As Single
  Dim TxtWidth As Single
  Dim IndentText As String
  Dim tString As String
  Dim NeedsStrip As Boolean
  Dim X As Integer, Y As Integer
 
    If LeftMargin = -1 Then LeftMargin = CurrentX
    If LeftMargin > PgWidth - 0.1 Then LeftMargin = PgWidth - 0.5
    If RightMargin < LeftMargin Then RightMargin = PgWidth - 0.1
    RightMargin = RightMargin - LeftMargin
    
    If PrintVar = vbNullString Then
        If SameLine Then
            pPrint "", , True
        Else
            pPrint
        End If
        Exit Sub
    End If
    
    TxtLen = Len(PrintVar)
    StartChar = 1
    CurrentPos = 0
    CharLength = TxtLen
    IndentText = vbNullString
    
    If InStr(PrintVar, vbCr) Or InStr(PrintVar, vbLf) Then NeedsStrip = True
    
    For X = 1 To TxtLen
        Y = X - CurrentPos
        If Mid(PrintVar, X, 1) < Chr(33) Then CharLength = Y
        If (GetTextWidth(IndentText) + GetTextWidth(Mid(PrintVar, StartChar, Y)) >= RightMargin) _
           Or (Mid(PrintVar, X, 1) = vbCr) Then
           
            '/* If there are no spaces then break line here */
            If CharLength > Y Then CharLength = Y - Len(IndentText) - 1
            If NeedsStrip Then
                tString = IndentText & Trim(GetRemoveCRLF(Mid(PrintVar, StartChar, CharLength)))
            Else
                tString = IndentText & Mid(PrintVar, StartChar, CharLength)
            End If
            
            CurrentX = LeftMargin
            If PrintFlag Then
                Printer.Print tString
            Else
                ObjPrint.Print tString
            End If
            
            CurrentPos = CharLength + CurrentPos
            StartChar = CurrentPos + 1
            CharLength = TxtLen
            If Not SecondLine Then
                SecondLine = True
                IndentText = IndentChar
            End If
            
            If UsePageBreaks Then
                If pEndOfPage Then
                    pFooter
                    pNewPage
                    pHeader
                End If
            End If
        End If
    Next X

    If NeedsStrip Then
        tString = IndentText & Trim(GetRemoveCRLF(Mid(PrintVar, StartChar)))
    Else
        tString = IndentText & Mid(PrintVar, StartChar)
    End If
    
    CurrentX = LeftMargin
    If SameLine Then
        If PrintFlag Then
            Printer.Print tString;
        Else
            ObjPrint.Print tString;
        End If
    Else
        If PrintFlag Then
            Printer.Print tString
        Else
            ObjPrint.Print tString
        End If
    End If
    
    
End Sub

Public Function GetRemoveCRLF(ByVal TextString As String) As String
  Dim i As Integer, FoundString As Boolean
  Dim FoundFirst As Boolean
  
    Do
        FoundString = False
        
        i = InStr(TextString, vbCr)
        If i Then
            Mid(TextString, i, 1) = " "
            FoundString = True
            FoundFirst = True
        End If
        
        i = InStr(TextString, vbLf)
        If i = 1 Then
            TextString = Mid(TextString, i + 1)
        ElseIf i > 1 Then
            If FoundFirst Then
                TextString = Mid(TextString, 1, i - 1) & Mid(TextString, i + 1)
            Else
                Mid(TextString, i, 1) = " "
            End If
            FoundString = True
        End If
        FoundFirst = False
        
    Loop Until FoundString = False
    GetRemoveCRLF = TextString
    
End Function

Public Sub pPrintPicture(NewPic As StdPicture, _
                        Optional LeftMargin As Single = -1, _
                        Optional TopMargin As Single = -1, _
                        Optional pWidth As Single = 0, _

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区三区| 日韩福利视频网| 久久久亚洲高清| 欧美精品一区二区在线观看| 日韩欧美一级二级| 日韩视频免费观看高清完整版| 欧美乱熟臀69xxxxxx| 欧美日韩国产美女| 欧美成人精精品一区二区频| 久久综合九色综合欧美就去吻| 精品粉嫩aⅴ一区二区三区四区| 精品免费国产二区三区| 2023国产精品自拍| 18成人在线观看| 偷拍一区二区三区| 精品在线视频一区| 99在线精品观看| 欧美日韩国产a| 久久综合成人精品亚洲另类欧美| 国产视频在线观看一区二区三区| 国产精品乱码久久久久久| 亚洲日本乱码在线观看| 蜜臀久久99精品久久久画质超高清 | 亚洲欧美日韩系列| 亚洲一区二区三区美女| 美女网站色91| 99久久99久久综合| 日韩丝袜情趣美女图片| 亚洲三级在线免费| 天天操天天干天天综合网| 国产成人av一区二区三区在线| 99久久er热在这里只有精品66| 欧美妇女性影城| 国产精品视频一二| 日韩成人av影视| av激情亚洲男人天堂| 日韩片之四级片| 亚洲自拍偷拍图区| 国产精品一区一区| 日韩一区二区免费高清| 亚洲男人都懂的| 国产一区二区三区黄视频| 在线欧美日韩精品| 久久免费国产精品| 蜜桃在线一区二区三区| 在线观看一区日韩| 亚洲国产成人自拍| 国产真实乱对白精彩久久| 欧美三级资源在线| 亚洲免费观看高清完整版在线观看| 看电影不卡的网站| 欧美久久高跟鞋激| 夜夜亚洲天天久久| 99精品国产99久久久久久白柏| 久久亚洲精品小早川怜子| 日韩成人一级片| 精品视频免费在线| 一区二区在线免费| 99re热视频这里只精品| 国产精品美女久久久久久久| 国产电影一区二区三区| 日韩你懂的在线播放| 日韩国产欧美在线播放| 欧美老女人第四色| 五月天久久比比资源色| 91国在线观看| 亚洲国产欧美日韩另类综合| 91麻豆视频网站| 亚洲男人的天堂在线观看| 91色porny在线视频| 亚洲国产电影在线观看| 成人亚洲一区二区一| 亚洲国产激情av| 91在线精品秘密一区二区| 中文字幕在线观看一区二区| 丁香另类激情小说| 18欧美亚洲精品| 91浏览器入口在线观看| 亚洲综合自拍偷拍| 欧美日韩一区二区不卡| 六月丁香婷婷色狠狠久久| 欧美不卡激情三级在线观看| 久久99精品久久久久久| 国产亲近乱来精品视频| 99re在线精品| 天堂久久久久va久久久久| 日韩视频一区二区在线观看| 国产又粗又猛又爽又黄91精品| 精品国产乱子伦一区| 国产成人在线视频网站| 国产精品久久二区二区| 在线免费av一区| 久久99精品视频| 国产精品久久看| 欧美日韩国产免费一区二区| 老色鬼精品视频在线观看播放| 国产日产欧产精品推荐色| 成人v精品蜜桃久久一区| 亚洲综合男人的天堂| 日韩欧美一区二区不卡| caoporen国产精品视频| 日韩精品电影一区亚洲| 久久久久9999亚洲精品| 99精品国产91久久久久久| 免费精品99久久国产综合精品| 国产视频一区在线观看| 欧美绝品在线观看成人午夜影视| 美女一区二区三区在线观看| 国产精品二三区| 日韩女优制服丝袜电影| 一本色道综合亚洲| 九九久久精品视频| 亚洲国产一区二区三区青草影视| 久久午夜色播影院免费高清| 欧美视频在线一区| 国产风韵犹存在线视精品| 亚洲国产成人av网| 中文字幕在线观看不卡视频| 精品处破学生在线二十三| 欧美亚洲图片小说| 99精品久久免费看蜜臀剧情介绍| 美女诱惑一区二区| 午夜精品一区二区三区免费视频| 国产精品色眯眯| 欧美成人a∨高清免费观看| 欧美日韩另类国产亚洲欧美一级| 成人午夜看片网址| 国产高清久久久久| 国产毛片精品一区| 日韩经典一区二区| 亚洲成人动漫在线观看| 亚洲男人的天堂av| 亚洲欧洲美洲综合色网| 国产喷白浆一区二区三区| 欧美成人video| 日韩免费观看高清完整版| 欧美午夜电影网| 欧美专区在线观看一区| 色综合久久精品| 日本乱人伦aⅴ精品| 99re这里只有精品首页| 不卡一区二区中文字幕| 高清不卡一区二区在线| 粉嫩欧美一区二区三区高清影视| 精品一区二区免费| 久久97超碰国产精品超碰| 久久国产福利国产秒拍| 免费成人你懂的| 男女性色大片免费观看一区二区 | 欧美成人精品3d动漫h| 91.xcao| 欧美福利视频一区| 日韩一级片在线观看| 欧美sm极限捆绑bd| 久久久99精品免费观看| 久久精品视频在线看| 国产精品女人毛片| 亚洲伦在线观看| 夜夜精品视频一区二区| 天堂一区二区在线| 精东粉嫩av免费一区二区三区| 精品一区二区三区的国产在线播放| 国内久久精品视频| 成年人国产精品| 色94色欧美sute亚洲线路二 | 国产成人免费网站| 成人91在线观看| 在线看不卡av| 欧美一级高清片在线观看| 337p日本欧洲亚洲大胆精品| 国产亚洲美州欧州综合国| 成人免费在线播放视频| 亚洲一级片在线观看| 老司机午夜精品99久久| 粉嫩在线一区二区三区视频| 91国在线观看| 精品播放一区二区| 亚洲欧美激情小说另类| 久久精品久久综合| 成人18视频日本| 日韩欧美一级二级三级| 国产精品伦理一区二区| 婷婷成人综合网| 成人高清视频免费观看| 51精品久久久久久久蜜臀| 国产精品毛片大码女人| 日韩中文字幕一区二区三区| 国产高清成人在线| 91麻豆精品国产综合久久久久久| 日本一区免费视频| 日韩1区2区3区| 91黄色免费观看| 中文一区在线播放| 免费成人在线视频观看| 欧洲av一区二区嗯嗯嗯啊| 国产色产综合色产在线视频| 亚洲chinese男男1069| jiyouzz国产精品久久| 精品美女在线观看| 肉丝袜脚交视频一区二区|