home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* LITTGDI5.PAS *)
- (* kleine GDI-Demonstration *)
- (* (c) 1991 Andreas Schallmeier & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM LittleGDI;
-
- {$X+}
-
- USES WinTypes, WinProcs, Strings, WObjects;
-
- TYPE
- pGDIFenster = ^tGDIFenster;
- tGDIFenster = OBJECT(tWindow)
- PROCEDURE WMLButtonDown(VAR Msg : tMessage);
- VIRTUAL wm_First+wm_LButtonDown;
- PROCEDURE WMRButtonDown(VAR Msg : tMessage);
- VIRTUAL wm_First+wm_RButtonDown;
- END;
-
- tMyApp = OBJECT(tApplication)
- PROCEDURE InitMainWindow; VIRTUAL;
- END;
-
- VAR
- MyApp : tMyApp;
-
- PROCEDURE tMyApp.InitMainWindow;
- BEGIN
- MainWindow := New(pGDIFenster, Init(NIL,'GDI Fenster'));
- END;
-
- (* ------------------------------------------------------ *)
- (* Listing 5 *)
- (* ------------------------------------------------------ *)
-
- PROCEDURE tGDIFenster.WMLButtonDown(VAR Msg : tMessage);
- VAR
- MyHDC : hDC;
- MetaHDC : hDC;
- NewPen, OldPen : hPen;
- Count : WORD;
- Client : tRect;
- BEGIN
- MyHDC := GetDC(hWindow);
- TextOut(MyHDC, 10, 10, 'Start Recording Metafile', 24);
- ReleaseDC(HWindow, MyHDC);
- MetaHDC := CreateMetafile('TESTMETA.WMF');
- FOR Count := 0 TO 999 DO BEGIN
- MoveTo(MetaHDC, Random(200), Random(100));
- LineTo(MetaHDC, Random(200), Random(100));
- END;
- DeleteMetaFile(CloseMetaFile(MetaHDC));
- MyHDC := GetDC(hWindow);
- TextOut(MyHDC, 10, 30, 'Stop Metafile recording', 23);
- ReleaseDC(HWindow, MyHDC);
- END;
-
- PROCEDURE TGDIFenster.WMRButtonDown(VAR Msg : tMessage);
- VAR
- MyHDC : hDC;
- Client : tRect;
- x, y : WORD;
- MetaHandle : tHandle;
- BEGIN
- MyHDC := GetDC(hWindow);
- SetMapMode(MyHDC, MM_ANISOTROPIC);
- SetWindowExt(MyHDC, 500, 500);
- GetClientRect(MyHDC, Client);
- SetViewportExt(MyHDC, Client.Right, Client.Bottom);
- MetaHandle := GetMetafile('TESTMETA.WMF');
- FOR x := 0 TO 1 DO
- FOR y := 0 TO 1 DO BEGIN
- SetWindowOrg(MyHDC, -200*x, -130*y);
- PlayMetaFile(MyHDC, MetaHandle);
- END;
- DeleteMetaFile(MetaHandle);
- ReleaseDC(hWindow, MyHDC);
- END;
-
- (* ------------------------------------------------------ *)
- (* Ende von Listing 5 *)
-
- BEGIN
- MyApp.Init('MyApp');
- MyApp.Run;
- MyApp.Done;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von LITTGDI5.PAS *)
-
-
-
-