home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / code / system / callback / enummeta.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-02-27  |  8.0 KB  |  208 lines

  1. VERSION 2.00
  2. Begin Form frmEnumMetaFile 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "EnumMetaFile"
  5.    ClientHeight    =   4695
  6.    ClientLeft      =   1350
  7.    ClientTop       =   795
  8.    ClientWidth     =   3600
  9.    Height          =   5100
  10.    Left            =   1290
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   4695
  13.    ScaleWidth      =   3600
  14.    Top             =   450
  15.    Width           =   3720
  16.    Begin Frame fraEnumMetaFile 
  17.       BackColor       =   &H00C0C0C0&
  18.       Height          =   1770
  19.       Left            =   60
  20.       TabIndex        =   5
  21.       Top             =   15
  22.       Width           =   3435
  23.       Begin ListBox lstEnumMetaFile 
  24.          Height          =   1395
  25.          Left            =   60
  26.          TabIndex        =   6
  27.          Top             =   300
  28.          Width           =   3315
  29.       End
  30.       Begin Label lblEnumMetafile 
  31.          Alignment       =   2  'Center
  32.          BackColor       =   &H00000000&
  33.          Caption         =   "GDI-Kommandoliste:"
  34.          ForeColor       =   &H00FFFFFF&
  35.          Height          =   255
  36.          Left            =   0
  37.          TabIndex        =   0
  38.          Top             =   15
  39.          Width           =   3435
  40.       End
  41.    End
  42.    Begin CommandButton cmdZur
  43.       BackColor       =   &H00C0C0C0&
  44.       Caption         =   "Zur
  45.       Height          =   330
  46.       Left            =   2460
  47.       TabIndex        =   4
  48.       Top             =   4320
  49.       Width           =   1065
  50.    End
  51.    Begin Frame fraComment 
  52.       BackColor       =   &H00C0C0C0&
  53.       Height          =   2430
  54.       Left            =   75
  55.       TabIndex        =   1
  56.       Top             =   1860
  57.       Width           =   3420
  58.       Begin Label lblComment 
  59.          Alignment       =   2  'Center
  60.          BackColor       =   &H00000000&
  61.          Caption         =   " Kommentar:"
  62.          ForeColor       =   &H00FFFFFF&
  63.          Height          =   255
  64.          Left            =   0
  65.          TabIndex        =   3
  66.          Top             =   60
  67.          Width           =   3435
  68.       End
  69.       Begin Label lblCommentText 
  70.          BackStyle       =   0  'Transparent
  71.          Caption         =   "In der oberen Listbox werden alle Kommandos eines Meta-Files im Klartext aufgelistet. Zur Demonstration wird dazu bei jedem Paint-Ereignis ein kurzes MetaFile erzeugt um dessen GDI-Kommandos aufzuz
  72. hlen."
  73.          FontBold        =   0   'False
  74.          FontItalic      =   0   'False
  75.          FontName        =   "MS Sans Serif"
  76.          FontSize        =   9.75
  77.          FontStrikethru  =   0   'False
  78.          FontUnderline   =   0   'False
  79.          Height          =   2115
  80.          Left            =   30
  81.          TabIndex        =   2
  82.          Top             =   300
  83.          Width           =   3345
  84.       End
  85.    End
  86.    Begin CBVBX CBVBX1 
  87.       CBType          =   3  ' 3  - EnumMetaFileProc
  88.       Left            =   0
  89.       Top             =   0
  90.    End
  91. Option Explicit
  92. Sub CBVBX1_EnumMetaFileProc (hDC As Integer, lpht As Long, lpmr As Long, cObj As Integer, lParam As Long, RetVal As Integer)
  93.   Dim mr As METARECORD
  94.   Dim s$
  95.   Dim i%
  96.   TypeAtAdress mr, ByVal lpmr, 4 'Zuerst 
  97. nge ermitteln
  98.   If mr.rdSize * 2 > Len(mr) Then mr.rdSize = Len(mr) / 2
  99.   TypeAtAdress mr, ByVal lpmr, CInt(mr.rdSize * 2)
  100.   s$ = " - UNKNOWN - "
  101.   Select Case mr.rdFunction
  102.     Case META_SETBKCOLOR: s$ = "SetBkColor"
  103.     Case META_SETBKMODE: s$ = "SetBkMode"
  104.     Case META_SETMAPMODE: s$ = "SetMapMode"
  105.     Case META_SETROP2: s$ = "SetROP2"
  106.     Case META_SETRELABS: s$ = "SetRelAbs"
  107.     Case META_SETPOLYFILLMODE: s$ = "SetPolyFillMode"
  108.     Case META_SETSTRETCHBLTMODE: s$ = "SetStretchBltMode"
  109.     Case META_SETTEXTCHAREXTRA: s$ = "SetTextCharExtra"
  110.     Case META_SETTEXTCOLOR: s$ = "SetTextColor"
  111.     Case META_SETTEXTJUSTIFICATION: s$ = "SetTextJustification"
  112.     Case META_SETWINDOWORG: s$ = "SetWindowOrg"
  113.     Case META_SETWINDOWEXT: s$ = "SetWindowExt"
  114.     Case META_SETVIEWPORTORG: s$ = "SetViewportOrg"
  115.     Case META_SETVIEWPORTEXT: s$ = "SetViewportExt"
  116.     Case META_OFFSETWINDOWORG: s$ = "OffsetWindowOrg"
  117.     Case META_SCALEWINDOWEXT: s$ = "ScaleWindowExt"
  118.     Case META_OFFSETVIEWPORTORG: s$ = "OffsetViewportOrg"
  119.     Case META_SCALEVIEWPORTEXT: s$ = "ScaleViewportOrg"
  120.     Case META_LINETO: s$ = "LineTo"
  121.     Case META_MOVETO: s$ = "MoveTo"
  122.     Case META_EXCLUDECLIPRECT: s$ = "ExcludeClipRect"
  123.     Case META_INTERSECTCLIPRECT: s$ = "IntersectClipRect"
  124.     Case META_ARC: s$ = "Arc"
  125.     Case META_ELLIPSE:     s$ = "Ellipse"
  126.     Case META_FLOODFILL: s$ = "FloodFill"
  127.     Case META_PIE: s$ = "Pie"
  128.     Case META_RECTANGLE:   s$ = "Rectangle"
  129.     Case META_ROUNDRECT: s$ = "Roundrect"
  130.     Case META_PATBLT: s$ = "PatBlt"
  131.     Case META_SAVEDC: s$ = "SaceDC"
  132.     Case META_SETPIXEL:          s$ = "SetPixel"
  133.     Case META_OFFSETCLIPRGN: s$ = "OffsetClipRgn"
  134.     Case META_TEXTOUT: s$ = "TextOut"
  135.     Case META_BITBLT: s$ = "BitBlt"
  136.     Case META_STRETCHBLT:        s$ = "StretchBlt"
  137.     Case META_POLYGON: s$ = "PolyGon"
  138.     Case META_POLYLINE: s$ = "PolyLine"
  139.     Case META_ESCAPE: s$ = "Escape"
  140.     Case META_RESTOREDC: s$ = "RestoreDC"
  141.     Case META_FILLREGION: s$ = "FillRegion"
  142.     Case META_FRAMEREGION: s$ = "FrameRegion"
  143.     Case META_INVERTREGION: s$ = "InvertRegion"
  144.     Case META_PAINTREGION: s$ = "PaintRegion"
  145.     Case META_SELECTCLIPREGION: s$ = "SelectClipRegion"
  146.     Case META_SELECTOBJECT: s$ = "SelectObject"
  147.     Case META_SETTEXTALIGN: s$ = "SetTextAlign"
  148.     Case META_DRAWTEXT: s$ = "DrawText"
  149.     Case META_CHORD: s$ = "Chord"
  150.     Case META_SETMAPPERFLAGS: s$ = "SetMapperFlags"
  151.     Case META_EXTTEXTOUT: s$ = "ExtTextOut"
  152.     Case META_SETDIBTODEV: s$ = "SetDIBToDev"
  153.     Case META_SELECTPALETTE: s$ = "SelectPalette"
  154.     Case META_REALIZEPALETTE: s$ = "RealizePalette"
  155.     Case META_ANIMATEPALETTE: s$ = "AnimatePalette"
  156.     Case META_SETPALENTRIES: s$ = "SetPaletteEntries"
  157.     Case META_POLYPOLYGON: s$ = "PolyPolygon"
  158.     Case META_RESIZEPALETTE: s$ = "ResizePalette"
  159.     Case META_DIBBITBLT: s$ = "DIBBitBlit"
  160.     Case META_DIBSTRETCHBLT: s$ = "DIBStretchBlt"
  161.     Case META_DIBCREATEPATTERNBRUSH: s$ = "DIBCreatePatternBrush"
  162.     Case META_STRETCHDIB: s$ = "StretchDIB"
  163.     'Case META_EXTFLOODFILL: s$ = "ExtFloodFill"
  164.     'Case META_RESETDC: s$ = "ResetDC"
  165.     'Case META_STARTDOC: s$ = "StartDoc"
  166.     'Case META_STARTPAGE: s$ = "StartPage"
  167.     'Case META_ENDPAGE: s$ = "EndPage"
  168.     'Case META_ABORTDOC: s$ = "AbortDoc"
  169.     'Case META_ENDDOC: s$ = "EndDoc"
  170.     Case META_DELETEOBJECT: s$ = "DeleteObject"
  171.     Case META_CREATEPALETTE: s$ = "CreatePalette"
  172.     Case META_CREATEBRUSH: s$ = "CreateBrush"
  173.     Case META_CREATEPATTERNBRUSH: s$ = "CreatePatternBrush"
  174.     Case META_CREATEPENINDIRECT: s$ = "CreatePenIndirect"
  175.     Case META_CREATEFONTINDIRECT: s$ = "CreateFontIndirect"
  176.     Case META_CREATEBRUSHINDIRECT: s$ = "CreateBrushIndirect"
  177.     Case META_CREATEBITMAPINDIRECT: s$ = "CreateBitmapIndirect"
  178.     Case META_CREATEBITMAP: s$ = "CreateBitmap"
  179.     Case META_CREATEREGION: s$ = "CreateRegion"
  180.   End Select
  181.   s$ = s$ + "( "
  182.   For i = mr.rdSize * 2 - (4 + 2) To 1 Step -1 'Long und Int Abziehen
  183.     s$ = s$ & Asc(Mid$(mr.rdParm, i, 1)) & " " 'Parameter in umgekehrter Reichenfolge
  184.   Next
  185.   s$ = s$ + " )"
  186.   lstEnumMetaFile.AddItem s
  187.   lstEnumMetaFile.ListIndex = lstEnumMetaFile.NewIndex
  188.   RetVal = True 'Weitermachen
  189. End Sub
  190. Sub cmdZur
  191. ck_Click ()
  192.   Unload Me
  193. End Sub
  194. Sub ctlEnumMetaFile_EnumMetaFileProc (hDC As Integer, lpht As Long, lpmr As Long, cObj As Integer, lParam As Long, RetVal As Integer)
  195. End Sub
  196. Sub Form_Paint ()
  197.     Dim hmetafile%, hMetaDC%
  198.     Dim dummy
  199.     hMetaDC = CreateMetaFile(ByVal 0&)
  200.     dummy = MoveTo(hMetaDC, 0, 0)
  201.     dummy = LineTo(hMetaDC, 100, 100)
  202.     hmetafile = CloseMetaFile(hMetaDC)
  203.     dummy = PlayMetaFile(Me.hDC, hmetafile)
  204.     'CBVBX1.CBType = 3
  205.     dummy = EnumMetaFile(Me.hDC, hmetafile, CBVBX1.CBAdress, ByVal 0&)
  206.     dummy = DeleteMetaFile(hmetafile)
  207. End Sub
  208.