home *** CD-ROM | disk | FTP | other *** search
- {***************************************************************************
-
- NoMan Custom Control Library $Version$
- Common Definitions Code Unit
- $Author$ $Date$
-
- Copyright 1991 Anthony M. Vitabile
-
- Unit Description
-
- This Turbo Pascal for Windows unit contains the code used to
- initialize a DLL containing several new kinds of control windows
- for use in dialog boxes. The code in this module defines common
- declarations used by all the modules that comprise this 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. In addition, the use of OWL in DLLs is not supported
- at this time.
-
- 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 DLL obeys the rules specified by Borland for compatibility
- with its Resource Workshop resource editor.
-
- ***************************************************************************}
-
- Unit CtrlCommonDefs;
- Interface
- Uses WinTypes;
-
- const
- Ctl_NoControls = 1; { Currently only have 1 control in the DLL }
-
- { Percent Control Constants }
-
- PctNoStyles = 5; { Number of style bits we define }
-
- Pct_Decades : longint = $01; { Place tick marks & % values every 10% }
- Pct_Quarters: longint = $02; { Place tick marks & % values every 25% }
- Pct_Halves : longint = $04; { Place tick marks & % values every 50% }
- Pct_Axis : longint = $08; { Draw the tick marks on the control }
- Pct_Digits : longint = $10; { Draw the percentage in the middle of the control }
-
- Pct_ClassExtra = 0; { Number of extra bytes to allocate in the class }
- Pct_ClassStyle = cs_HRedraw or cs_VRedraw or cs_GlobalClass;
- Pct_Color = 0; { The background color of the control }
- Pct_Name = 'PercentCtrl'; { Class name for the new control }
- Pct_NoVariants = 1; { 5 different variants on this control }
- Pct_Version = 100; { Version number is 1.00 }
- Pct_WndExtra = 2; { Number of extra bytes to allocate in the window }
- Pct_Percentage = 0; { GetWindowWord offset of the current percentage }
-
- { Define window messages }
-
- pcm_ResetPercent = wm_User + 1; { Message to cause control to reset % to 0 }
- pcm_AddPercent = wm_User + 2; { Message to cause control to add x % }
- pcm_GetPercent = wm_User + 3; { Message to cause control to return its current setting }
- pcm_SetPercent = wm_User + 4; { Message to cause control to set itself to x% }
- { Control Style Dialog box identifiers }
- PctMask: longint = $FFFFFFF8;
-
- type
- StyleArray = array [0 .. CtlTypes - 1] of longint;
- VarNameArr = array [0 .. CtlTypes - 1] of PChar;
-
- var
- Pct_WndStyle: StyleArray;
- Pct_Variants: VarNameArr;
-
- Implementation
- const
- CommonStyle: longint = ws_Child or ws_Visible;
-
- begin
- Pct_WndStyle[0] := CommonStyle;
-
- Pct_Variants[0] := Pct_Name;
- end.
-