|
|
1.1 root 1:
2: /******************************************************************************\
3: * This is a part of the Microsoft Source Code Samples.
4: * Copyright (C) 1993 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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.