home *** CD-ROM | disk | FTP | other *** search
/ CD/PC Actual Thematic 25: Programming / pc_actual_25.iso / Basic / GridOne / setup.EXE / PRINTFORMS.BAS < prev    next >
Encoding:
BASIC Source File  |  2001-09-09  |  9.2 KB  |  234 lines

  1. Attribute VB_Name = "mPrintForms"
  2. '-----------------------------------------------------------------------------
  3. ' This is a part of the BeeGrid ActiveX control.
  4. ' Copyright ⌐ 2000 Stinga
  5. ' All rights reserved.
  6. '
  7. ' You have a right to use and distribute the BeeGrid sample files in original
  8. ' form or modified, provided that you agree that Stinga has no warranty,
  9. ' obligations, or liability for any sample application files.
  10. '-----------------------------------------------------------------------------
  11. Option Explicit
  12.  
  13. Public Const sgTWIP_PER_CM = 567
  14.  
  15. '---Printer API------------------------------------------------------------------------
  16. Public Const CCHDEVICENAME = 32
  17. Public Const CCHFORMNAME = 32
  18.  
  19. Public Type DEVMODE
  20.         dmDeviceName As String * CCHDEVICENAME
  21.         dmSpecVersion As Integer
  22.         dmDriverVersion As Integer
  23.         dmSize As Integer
  24.         dmDriverExtra As Integer
  25.         dmFields As Long
  26.         dmOrientation As Integer
  27.         dmPaperSize As Integer
  28.         dmPaperLength As Integer
  29.         dmPaperWidth As Integer
  30.         dmScale As Integer
  31.         dmCopies As Integer
  32.         dmDefaultSource As Integer
  33.         dmPrintQuality As Integer
  34.         dmColor As Integer
  35.         dmDuplex As Integer
  36.         dmYResolution As Integer
  37.         dmTTOption As Integer
  38.         dmCollate As Integer
  39.         dmFormName As String * CCHFORMNAME
  40.         dmUnusedPadding As Integer
  41.         dmBitsPerPel As Integer
  42.         dmPelsWidth As Long
  43.         dmPelsHeight As Long
  44.         dmDisplayFlags As Long
  45.         dmDisplayFrequency As Long
  46. End Type
  47.  
  48. Public Type PRINTER_DEFAULTS
  49.         pDatatype As String
  50.         pDevMode As DEVMODE
  51.         DesiredAccess As Long
  52. End Type
  53.  
  54. Public Type DOCINFO
  55.         cbSize As Long
  56.         lpszDocName As String
  57.         lpszOutput As String
  58. End Type
  59.  
  60. Public Type sgStyleAppearance
  61.    BackColor As Long
  62.    BorderColor As Long
  63.    BorderHighlight As Long
  64.    GridLines As Boolean
  65.    Flat As Boolean
  66. End Type
  67.  
  68. Type BITMAP
  69.         bmType As Long
  70.         bmWidth As Long
  71.         bmHeight As Long
  72.         bmWidthBytes As Long
  73.         bmPlanes As Integer
  74.         bmBitsPixel As Integer
  75.         bmBits As Long
  76. End Type
  77.  
  78. Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
  79. Public Declare Function SetMapMode Lib "gdi32" (ByVal hdc As Long, ByVal nMapMode As Long) As Long
  80.  
  81. Public Const MM_TWIPS = 6
  82.  
  83. Public Const PHYSICALWIDTH = 110
  84. Public Const PHYSICALOFFSETY = 113
  85. Public Const PHYSICALOFFSETX = 112
  86. Public Const PHYSICALHEIGHT = 111
  87.  
  88. Public Declare Function AbortDoc Lib "gdi32" (ByVal hdc As Long) As Long
  89. Public Declare Function AbortPrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
  90. Public Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, _
  91.    phPrinter As Long, pDefault As PRINTER_DEFAULTS) As Long
  92. Public Declare Function StartPage Lib "gdi32" (ByVal hdc As Long) As Long
  93. Public Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
  94. Public Declare Function EndPage Lib "gdi32" (ByVal hdc As Long) As Long
  95. Public Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
  96. Public Declare Function StartDoc Lib "gdi32" Alias "StartDocA" (ByVal hdc As Long, lpdi As DOCINFO) As Long
  97. Public Declare Function EndDoc Lib "gdi32" (ByVal hdc As Long) As Long
  98. Public Declare Function EnumPrinters Lib "winspool.drv" Alias "EnumPrintersA" _
  99.    (ByVal flags As Long, ByVal Name As String, ByVal Level As Long, _
  100.    pPrinterEnum As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
  101. Public Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
  102. Public Declare Function PrinterProperties Lib "winspool.drv" (ByVal hwnd As Long, ByVal hPrinter As Long) As Long
  103. Public Declare Function CreateIC Lib "gdi32" Alias "CreateICA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, _
  104.    ByVal lpOutput As String, lpInitData As DEVMODE) As Long
  105. Public Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
  106. Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  107. Public Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  108. Public 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
  109. Public Declare Function GetBmpObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As BITMAP) As Long
  110. '---GDI API (for font)-----------------------
  111. Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  112. Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  113. Public Declare Function CreatePen Lib "gdi32" _
  114.    (ByVal nPenStyle As Long, ByVal nWidth As Long, _
  115.    ByVal crColor As Long) As Long
  116.  
  117. 'sysmetrics
  118. Public Const SM_CMETRICS = 44
  119. Public Const SM_CMOUSEBUTTONS = 43
  120. Public Const SM_CXBORDER = 5
  121. Public Const SM_CXCURSOR = 13
  122. Public Const SM_CXDLGFRAME = 7
  123. Public Const SM_CXDOUBLECLK = 36
  124. Public Const SM_CXFIXEDFRAME = SM_CXDLGFRAME
  125. Public Const SM_CXFRAME = 32     'frame width of sazible window
  126. Public Const SM_CXFULLSCREEN = 16
  127. Public Const SM_CXHSCROLL = 21
  128. Public Const SM_CXHTHUMB = 10
  129. Public Const SM_CXICON = 11
  130. Public Const SM_CXICONSPACING = 38
  131. Public Const SM_CXMIN = 28
  132. Public Const SM_CXMINTRACK = 34
  133. Public Const SM_CXSCREEN = 0
  134. Public Const SM_CXSIZE = 30
  135. Public Const SM_CXSIZEFRAME = SM_CXFRAME
  136. Public Const SM_CXVSCROLL = 2
  137. Public Const SM_CYBORDER = 6
  138. Public Const SM_CYCAPTION = 4
  139. Public Const SM_CYCURSOR = 14
  140. Public Const SM_CYDLGFRAME = 8
  141. Public Const SM_CYDOUBLECLK = 37
  142. Public Const SM_CYFIXEDFRAME = SM_CYDLGFRAME
  143. Public Const SM_CYFRAME = 33  'frame height of sazible window
  144. Public Const SM_CYFULLSCREEN = 17
  145. Public Const SM_CYHSCROLL = 3
  146. Public Const SM_CYICON = 12
  147. Public Const SM_CYICONSPACING = 39
  148. Public Const SM_CYKANJIWINDOW = 18
  149. Public Const SM_CYMENU = 15
  150. Public Const SM_CYMIN = 29
  151. Public Const SM_CYMINTRACK = 35
  152. Public Const SM_CYSCREEN = 1
  153. Public Const SM_CYSIZE = 31
  154. Public Const SM_CYSIZEFRAME = SM_CYFRAME
  155. Public Const SM_CYVSCROLL = 20
  156. Public Const SM_CYVTHUMB = 9
  157. Public Const SM_DBCSENABLED = 42
  158. Public Const SM_DEBUG = 22
  159. Public Const SM_MENUDROPALIGNMENT = 40
  160. Public Const SM_MOUSEPRESENT = 19
  161. Public Const SM_PENWINDOWS = 41
  162. Public Const SM_SWAPBUTTON = 23
  163.  
  164. Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  165. Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
  166. Public Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
  167.  
  168.  
  169. Public Const S_CMD_FIRST = "ID_FIRST"
  170. Public Const S_CMD_PREV = "ID_PREV"
  171. Public Const S_CMD_NEXT = "ID_NEXT"
  172. Public Const S_CMD_LAST = "ID_LAST"
  173. Public Const S_CMD_CLOSE = "ID_CLOSE"
  174. Public Const S_CMD_WORD = "ID_WORD"
  175. Public Const S_CMD_EXCEL = "ID_EXCEL"
  176. Public Const S_CMD_MAIL = "ID_MAIL"
  177. Public Const S_CMD_PRINT = "ID_PRINT"
  178. Public Const S_CMD_PROP = "ID_PROP"
  179. Public Const S_CMD_OPEN = "ID_OPEN"
  180. Public Const S_CMD_ZOOM = "ID_ZOOM"
  181. Public Const S_CMD_BOLD = "ID_BOLD"
  182. Public Const S_CMD_ITALIC = "ID_ITALIC"
  183. Public Const S_CMD_UNDERLINE = "ID_UNDERLINE"
  184. Public Const S_CMD_ALIGNLEFT = "ID_ALIGNLEFT"
  185. Public Const S_CMD_ALIGNRIGHT = "ID_ALIGNRIGHT"
  186. Public Const S_CMD_ALIGNCENTER = "ID_ALIGNCENTER"
  187. Public Const S_CMD_PREVIEW = "ID_PREVIEW"
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. Public Function GetRelativePath(ByVal sFileName$, ByVal sSourceFile$) As String
  196.    
  197.    sSourceFile = File_GetPath(sSourceFile)
  198.    
  199.    If Left$(sFileName, 2) = ".." Then
  200.       Do
  201.          sFileName = Mid$(sFileName, 4)
  202.          sSourceFile = File_GetPath(Left$(sSourceFile, Len(sSourceFile) - 1))
  203.          If Len(sSourceFile) = 0 Then Exit Function
  204.          GetRelativePath = sSourceFile & sFileName
  205.       Loop While Left$(sFileName, 2) = ".."
  206.    Else
  207.       GetRelativePath = sSourceFile & sFileName
  208.    End If
  209. End Function
  210.  
  211. '------------------------------------------------------------------------------------------------
  212. '   Desc: returns the path string and drive spec from a filespec
  213. '  Given: sFileSpec - file specification that can contain a drive, path, and filename
  214. ' Global: nil
  215. 'Returns: File_GetPath - path and drive spec, null if no path or drive found
  216. '   Note: nil
  217. '   Hist: 930907 - R.Parlee, created
  218. '------------------------------------------------------------------------------------------------
  219. Function File_GetPath(ByVal sOrig As String) As String
  220.    Dim sPath As String
  221.  
  222.    On Error Resume Next
  223.  
  224.    sPath = StrReverse(sOrig)
  225.    If ((Len(sPath) <> 0) And (InStr(sPath, "\") <> 0)) Then
  226.       sPath = VBA.Left(sOrig, Len(sOrig) - InStr(sPath, "\") + 1)
  227.    ElseIf ((Len(sPath) <> 0) And (InStr(sPath, ":") <> 0)) Then
  228.       sPath = VBA.Left(sOrig, Len(sOrig) - InStr(sPath, ":") + 1)
  229.    Else
  230.       sPath = ""
  231.    End If
  232.    File_GetPath = sPath
  233. End Function
  234.