home *** CD-ROM | disk | FTP | other *** search
- {************************************************}
- { }
- { Turbo Pascal for Windows }
- { Tips & Techniques Demo Program }
- { Copyright (c) 1991 by Borland International }
- { }
- {************************************************}
-
- program Splash;
-
- {$R Splash}
-
- uses WinProcs, WinTypes, WObjects;
-
- type
- TApp = object(TApplication)
- constructor Init(AName: PChar);
- procedure InitMainWindow; virtual;
- end;
-
- var
- SplashRect: TRect;
-
- { Before calling the parent constructor, create a 'Display'
- DC and BitBlt the desired region }
- constructor TApp.Init(AName: PChar);
- var
- DC, MemDC: HDC;
- OldBitMap, BitMap: HBitMap;
- BM: TBitMap;
- begin
- DC := CreateDC('Display', Nil, Nil, Nil);
- BitMap := LoadBitMap(HInstance, 'Splash');
- MemDC := CreateCompatibleDC(DC);
- OldBitMap := SelectObject(MemDC, BitMap);
- GetObject(BitMap, SizeOf(BM), @BM);
- with SplashRect do
- begin
- Left := 200;
- Top := 150;
- Right := Left + BM.bmWidth;
- Bottom := Top + BM.bmHeight;
- BitBlt(DC, Left, Top, BM.bmWidth, BM.bmHeight, MemDC, 0, 0, SRCCopy);
- end;
- DeleteObject(SelectObject(MemDC, OldBitMap));
- DeleteDC(MemDC);
- DeleteDC(DC);
- TApplication.Init(AName);
- end;
-
- procedure TApp.InitMainWindow;
- begin
- MainWindow := New(PWindow, Init(Nil, 'Splash Test'));
- end;
-
- var
- App: TApp;
- begin
- App.Init('Splash');
- { invalidate the Splashed region to cause a paint }
- InvalidateRect(0, @SplashRect, True);
- App.Run;
- App.Done;
- end.
-