home *** CD-ROM | disk | FTP | other *** search
- {***************************************************************************
-
- NoMan Custom Control Library $Version$
- Initialization Code Unit
- $Author$ $Date$
-
- Copyright 1991 Anthony M. Vitabile
-
- Unit Description
-
- This Turbo Pascal for Windows unit contains the code used to
- implement the initialization code for a library implementing a
- new kind of control window for use in dialog boxes. The code
- in this module defines the initialization code for the library.
-
- The library uses straight Windows calls and does NOT use Object-
- Windows. This is to allow the control to be used by ANY Windows
- program.
-
- This code is adapted from the code that appeared in the July,
- 1990 issue of Microsoft Systems Journal article, "Extending the
- Windows 3.0 Interface with Installable Custom Controls" by Kevin
- P. Welch. The code has been customized for use with Resource
- Workshop.
-
- ***************************************************************************}
-
- {$C Preload Discardable}
- Unit CtrlInit;
- Interface
-
- procedure CtrlLibInit;
- procedure LibExit;
-
- Implementation
- Uses CtrlCommonDefs, WndFnPercentCtrl, WinTypes, WinProcs;
-
- var
- SaveExit: Pointer;
-
- procedure CtrlLibInit;
- var
- OK: boolean;
- WC: TWndClass;
-
- begin { CtrlLibInit }
- { Register Percent Control Class first }
- WC.style := Pct_ClassStyle;
- WC.lpfnWndProc := @PercentCtrlWndFn;
- WC.cbClsExtra := Pct_ClassExtra;
- WC.cbWndExtra := Pct_WndExtra;
- WC.hInstance := HInstance;
- WC.hIcon := 0;
- WC.hCursor := 0;
- WC.hbrBackground := 0;
- WC.lpszMenuName := nil;
- WC.lpszClassName := Pct_Name;
-
- OK := RegisterClass(WC);
-
- if not OK
- then ExitCode := 0 { Cause the DLL to unload itself! }
- else { Install our exit handler }
- begin
- SaveExit := ExitProc; { Save old exit procedure pointer }
- ExitProc := @LibExit { Install LibExit exit procedure }
- end
- end { PercentCtrlInit };
-
- {$S-}
- procedure LibExit;
- begin { LibExit }
- UnregisterClass(Pct_Name, HInstance);
- ExitProc := SaveExit
- end { LibExit };
-
- end.
-