home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / sdktools / winnt / dlgedit / dlgextrn.h < prev    next >
C/C++ Source or Header  |  1997-10-05  |  11KB  |  185 lines

  1.  
  2. /******************************************************************************\
  3. *       This is a part of the Microsoft Source Code Samples. 
  4. *       Copyright (C) 1993-1997 Microsoft Corporation.
  5. *       All rights reserved. 
  6. *       This source code is only intended as a supplement to 
  7. *       Microsoft Development Tools and/or WinHelp documentation.
  8. *       See these sources for detailed information regarding the 
  9. *       Microsoft samples programs.
  10. \******************************************************************************/
  11.  
  12. /****************************** Module Header *******************************
  13. * Module Name: dlgextrn.h
  14. *
  15. * External declarations for global variables.
  16. *
  17. ****************************************************************************/
  18.  
  19. extern HANDLE ghInst;           /* Application instance handle.         */
  20. extern HMENU ghMenuMain;        /* Main menu handle.                    */
  21. extern PRESLINK gprlHead;       /* Head of the linked list of resources.*/
  22. extern CURRENTDLG gcd;          /* Describes the current dialog.        */
  23. extern HPEN hpenDarkGray;       /* A dark gray pen.                     */
  24. extern HANDLE ghAccTable;       /* The accelerator table handle.        */
  25. extern INT gMenuSelected;       /* Currently selected menu item.        */
  26. extern HBITMAP ghbmDragHandle;  /* Handle for the drag handle bitmap.   */
  27. extern HBITMAP ghbmDragHandle2; /* Handle for hollow drag handle bitmap.*/
  28. extern HDC ghDCMem;             /* Memory DC for drawing bitmaps.       */
  29. extern INT gCurTool;            /* Currently selected tool.             */
  30. extern PWINDOWCLASSDESC gpwcdCurTool; /* Describes current tool.        */
  31. extern BOOL gfToolLocked;       /* TRUE if a tool is locked down.       */
  32. extern PCUSTLINK gpclHead;      /* Head of custom control linked list.  */
  33. extern INT gidCurrentDlg;       /* Zero, or res id of DlgEdit dlg shown.*/
  34. extern ORDINAL gordIcon;        /* Ordinal for the editor's W_ICON icon.*/
  35.  
  36. /*
  37.  * Bitmap handles for the up and down W_NOTHING (pointer) tool bitmaps.
  38.  */
  39. extern HBITMAP ghbmPointerToolUp;
  40. extern HBITMAP ghbmPointerToolDown;
  41.  
  42. /*
  43.  * External declarations for the Windows variables that contain
  44.  * command line information.
  45.  */
  46. extern INT __argc;
  47. extern CHAR **__argv;
  48.  
  49. /*-- Initialized "Preferences" Data ------------------------------------*/
  50. extern INIENTRY gaie[];         /* Initialization data desc. structure. */
  51. extern BOOL gfHexMode;          /* TRUE if in "hex" mode.               */
  52. extern BOOL gfTranslateMode;    /* TRUE if in "translate" mode.         */
  53. extern BOOL gfShowToolbox;      /* TRUE if Toolbox is to be shown.      */
  54. extern BOOL gfUseNewKeywords;   /* FALSE to only use "CONTROL" keyword. */
  55. extern INT gcxGrid;             /* Current X grid.                      */
  56. extern INT gcyGrid;             /* Current Y grid.                      */
  57. extern INT gxMargin;            /* Top/bottom margin.                   */
  58. extern INT gyMargin;            /* Left/right margin.                   */
  59. extern INT gxSpace;             /* Horizontal control spacing.          */
  60. extern INT gySpace;             /* Vertical control spacing.            */
  61. extern INT gxMinPushSpace;      /* Minimum horizontal button spacing.   */
  62. extern INT gxMaxPushSpace;      /* Maximum horizontal button spacing.   */
  63. extern INT gyPushSpace;         /* Vertical button spacing.             */
  64.  
  65. extern TCHAR szAppPos[];        /* App window's position keyname.       */
  66. extern TCHAR szTBPos[];         /* Toolbox window's position keyname.   */
  67. extern TCHAR szCustomDLL[];     /* Section name for DLL custom cntls.   */
  68.  
  69. /*-- Sundry Handles.----------------------------------------------------*/
  70. extern HWND hwndStatus;         /* Status ribbon window handle.         */
  71. extern HWND ghwndToolbox;       /* Toolbox window handle.               */
  72. extern HWND ghwndTestDlg;       /* Handle of the Test Mode dialog.      */
  73. extern HWND ghwndMain;          /* Main application window.             */
  74. extern HWND ghwndSubClient;     /* The "fake" client area.              */
  75. extern HWND ghwndTrackOver;     /* Window being tracked over.           */
  76.  
  77. /*-- Some System constants.---------------------------------------------*/
  78. extern INT gcxSysChar;          /* Pixel width of system font char box. */
  79. extern INT gcySysChar;          /* Pixel height of system font char box.*/
  80. extern INT gcyBorder;           /* System height of a border.           */
  81. extern INT gcxPreDragMax;       /* Max X mouse move during pre-drag.    */
  82. extern INT gcyPreDragMax;       /* Max Y mouse move during pre-drag.    */
  83. extern INT gmsecPreDrag;        /* The milliseconds that pre-drag lasts.*/
  84. extern INT gcyPixelsPerInch;    /* Vertical pixels/inch of system.      */
  85. extern INT gcyStatus;           /* Saves height of the status window.   */
  86.  
  87. /*-- Some state variables.----------------------------------------------*/
  88. extern INT gState;              /* Has the editor "state" or mode.      */
  89. extern BOOL gfResChged;         /* Tell if RES has changed              */
  90. extern BOOL gfIncChged;         /* Tell if include has changed          */
  91. extern BOOL gfDlgChanged;       /* TRUE if current dialog has changed.  */
  92. extern INT gcSelected;          /* Count of selected windows.           */
  93. extern BOOL gfTestMode;         /* TRUE if in "test" mode.              */
  94. extern BOOL gfDisabled;         /* TRUE if editing is disabled for now. */
  95. extern BOOL gfEditingDlg;       /* TRUE means a dlg is picked to edit.  */
  96. extern BOOL gfDlgSelected;      /* TRUE if the dialog has the selection.*/
  97. extern RECT grcMinDialog;       /* Minimum tracking size of the dialog. */
  98. extern RECT grcDlgClient;       /* Rectangle of the dialogs "client".   */
  99. extern POINT gptCursorOffset;   /* Offset from ctrl origin to pointer.  */
  100. extern RECT grcSelected;        /* Rectangle around selected controls.  */
  101. extern RECT grcCopy;            /* Rect around controls being copied.   */
  102. extern RECT grcTrackDU;         /* Tracking rect when dragging a control*/
  103. extern RECT grcTrackWin;        /* Track rect in window units.          */
  104. extern BOOL gfTrackRectShown;   /* TRUE if track rect is visible.       */
  105. extern HDC ghDCTrack;           /* Clip DC used when tracking.          */
  106. extern INT gHandleHit;          /* Current drag handle being tracked.   */
  107. extern INT gnOverHang;          /* Maximum overhang during the drag.    */
  108. extern PRES gpResCopy;          /* Copy of dialog/controls.             */
  109.  
  110. /*-- CTYPE linked lists.------------------------------------------------*/
  111. extern NPCTYPE npcHead;         /* Linked List of controls.             */
  112. extern INT cWindows;            /* Number of Controls in pctype list.   */
  113. extern NPCTYPE gnpcSel;         /* The currently selected control.      */
  114.  
  115. /*-- Cursors used by editor.--------------------------------------------*/
  116. extern HCURSOR hcurArrow;       /* Normal arrow cursor.                 */
  117. extern HCURSOR hcurWait;        /* User Wait cursor, Hourglass.         */
  118. extern HCURSOR hcurOutSel;      /* Outline selection cursor.            */
  119. extern HCURSOR hcurMove;        /* System "Move" cursor.                */
  120. extern HCURSOR hcurInsert;      /* Insert cursor for Order/Group dialog.*/
  121. extern HCURSOR hcurDropTool;    /* Cursor for when dropping new ctrls.  */
  122. extern HCURSOR hcurSizeNESW;    /* System sizing "NESW" cursor.         */
  123. extern HCURSOR hcurSizeNS;      /* System sizing "NS" cursor.           */
  124. extern HCURSOR hcurSizeNWSE;    /* System sizing "NWSE" cursor.         */
  125. extern HCURSOR hcurSizeWE;      /* System sizing "WE" cursor.           */
  126. extern HBITMAP hbmTabStop;      /* Bitmap for showing WS_TABSTOP style. */
  127. extern HBITMAP hbmTabStopSel;   /* Selected version of the above.       */
  128.  
  129. /*-- Window Class Strings.----------------------------------------------*/
  130. extern TCHAR szMainClass[];     /* Application window class.            */
  131. extern TCHAR szDragClass[];     /* Class for drag handle windows.       */
  132. extern TCHAR szSubClientClass[];/* Short client area window class.      */
  133. extern TCHAR szToolboxClass[];  /* Toolbox window class.                */
  134. extern TCHAR szToolBtnClass[];  /* Toolbox button window class.         */
  135. extern TCHAR szCustomClass[];   /* Our custom emulator class.           */
  136.  
  137. /*-- Miscellaneous variables.-------------------------------------------*/
  138. extern UINT fmtDlg;             /* The Dialog Clipboard format          */
  139. extern TCHAR szEmpty[];         /* An empty string.                     */
  140. extern HHOOK ghhkMsgFilter;     /* Hook for message filter func.        */
  141.  
  142. /*-- Buffers.-----------------------------------------------------------*/
  143. extern TCHAR szFullResFile[];   /* Full resource file name              */
  144. extern LPTSTR pszResFile;       /* Points to resource file name         */
  145. extern TCHAR szFullIncludeFile[];/* Full include file name              */
  146. extern LPTSTR pszIncludeFile;   /* Points to include file name          */
  147. extern TCHAR gszHelpFile[];     /* Path to the help file.               */
  148.  
  149. /*
  150.  * Write buffer and index into it.  This buffer is used by several
  151.  * sections to write out the different files.  Note that only one
  152.  * file can be written out at a time using these globals.
  153.  */
  154. extern TCHAR gachWriteBuffer[]; /* Buffer for written file data.        */
  155. extern INT cbWritePos;          /* Pointer into gachWriteBuffer.        */
  156.  
  157. /*-- Include Data.------------------------------------------------------*/
  158. extern NPLABEL plInclude;       /* Pointer to Include data              */
  159. extern NPLABEL plDelInclude;    /* Pointer to deleted includes          */
  160.  
  161. /*
  162.  * Describes each window class.  Indexed by the W_ defined constants.
  163.  */
  164. extern WINDOWCLASSDESC awcd[];
  165.  
  166. /* Map low word of button control style to button type (W_). */
  167. extern INT rgmpiClsBtnType[];
  168.  
  169. /* Map low word of Static Control Style to static type. */
  170. extern INT rgmpiClsStcType[];
  171.  
  172. extern CLASSSTYLEDESC acsd[];
  173.  
  174. /*
  175.  * Message box messages, for the Message() function.
  176.  */
  177. extern MESSAGEDATA gamdMessages[];
  178.  
  179. extern HELPMAP gahmapMenu[];    /* Maps menu ids to their help context. */
  180. extern HELPMAP gahmapDialog[];  /* Maps dlg ids to their help context.  */
  181.  
  182. extern LANGTABLE gaLangTable[]; /* Table of languages.                  */
  183. extern INT gcLanguages;         /* Count of languages in the table.     */
  184.  
  185.