184 lines
10 KiB
C
184 lines
10 KiB
C
/****************************************************************************/
|
|
/* */
|
|
/* Microsoft Confidential */
|
|
/* */
|
|
/* Copyright (c) Microsoft Corp. 1987, 1990 */
|
|
/* All Rights Reserved */
|
|
/* */
|
|
/****************************************************************************/
|
|
/****************************** Module Header *******************************
|
|
* Module Name: dlgextrn.h
|
|
*
|
|
* External declarations for global variables.
|
|
*
|
|
* History:
|
|
*
|
|
****************************************************************************/
|
|
|
|
extern HANDLE ghInst; /* Application instance handle. */
|
|
extern HMENU ghMenuMain; /* Main menu handle. */
|
|
extern PRESLINK gprlHead; /* Head of the linked list of resources.*/
|
|
extern CURRENTDLG gcd; /* Describes the current dialog. */
|
|
extern HPEN hpenDarkGray; /* A dark gray pen. */
|
|
extern HANDLE ghAccTable; /* The accelerator table handle. */
|
|
extern INT gMenuSelected; /* Currently selected menu item. */
|
|
extern HBITMAP ghbmDragHandle; /* Handle for the drag handle bitmap. */
|
|
extern HBITMAP ghbmDragHandle2; /* Handle for hollow drag handle bitmap.*/
|
|
extern HDC ghDCMem; /* Memory DC for drawing bitmaps. */
|
|
extern INT gCurTool; /* Currently selected tool. */
|
|
extern PWINDOWCLASSDESC gpwcdCurTool; /* Describes current tool. */
|
|
extern BOOL gfToolLocked; /* TRUE if a tool is locked down. */
|
|
extern PCUSTLINK gpclHead; /* Head of custom control linked list. */
|
|
extern INT gidCurrentDlg; /* Zero, or res id of DlgEdit dlg shown.*/
|
|
extern ORDINAL gordIcon; /* Ordinal for the editor's W_ICON icon.*/
|
|
|
|
/*
|
|
* Bitmap handles for the up and down W_NOTHING (pointer) tool bitmaps.
|
|
*/
|
|
extern HBITMAP ghbmPointerToolUp;
|
|
extern HBITMAP ghbmPointerToolDown;
|
|
|
|
/*
|
|
* External declarations for the Windows variables that contain
|
|
* command line information.
|
|
*/
|
|
extern INT __argc;
|
|
extern CHAR **__argv;
|
|
|
|
/*-- Initialized "Preferences" Data ------------------------------------*/
|
|
extern INIENTRY gaie[]; /* Initialization data desc. structure. */
|
|
extern BOOL gfHexMode; /* TRUE if in "hex" mode. */
|
|
extern BOOL gfTranslateMode; /* TRUE if in "translate" mode. */
|
|
extern BOOL gfShowToolbox; /* TRUE if Toolbox is to be shown. */
|
|
extern BOOL gfUseNewKeywords; /* FALSE to only use "CONTROL" keyword. */
|
|
extern INT gcxGrid; /* Current X grid. */
|
|
extern INT gcyGrid; /* Current Y grid. */
|
|
extern INT gxMargin; /* Top/bottom margin. */
|
|
extern INT gyMargin; /* Left/right margin. */
|
|
extern INT gxSpace; /* Horizontal control spacing. */
|
|
extern INT gySpace; /* Vertical control spacing. */
|
|
extern INT gxMinPushSpace; /* Minimum horizontal button spacing. */
|
|
extern INT gxMaxPushSpace; /* Maximum horizontal button spacing. */
|
|
extern INT gyPushSpace; /* Vertical button spacing. */
|
|
|
|
extern TCHAR szAppPos[]; /* App window's position keyname. */
|
|
extern TCHAR szTBPos[]; /* Toolbox window's position keyname. */
|
|
extern TCHAR szCustomDLL[]; /* Section name for DLL custom cntls. */
|
|
|
|
/*-- Sundry Handles.----------------------------------------------------*/
|
|
extern HWND hwndStatus; /* Status ribbon window handle. */
|
|
extern HWND ghwndToolbox; /* Toolbox window handle. */
|
|
extern HWND ghwndTestDlg; /* Handle of the Test Mode dialog. */
|
|
extern HWND ghwndMain; /* Main application window. */
|
|
extern HWND ghwndSubClient; /* The "fake" client area. */
|
|
extern HWND ghwndTrackOver; /* Window being tracked over. */
|
|
|
|
/*-- Some System constants.---------------------------------------------*/
|
|
extern INT gcxSysChar; /* Pixel width of system font char box. */
|
|
extern INT gcySysChar; /* Pixel height of system font char box.*/
|
|
extern INT gcyBorder; /* System height of a border. */
|
|
extern INT gcxPreDragMax; /* Max X mouse move during pre-drag. */
|
|
extern INT gcyPreDragMax; /* Max Y mouse move during pre-drag. */
|
|
extern INT gmsecPreDrag; /* The milliseconds that pre-drag lasts.*/
|
|
extern INT gcyPixelsPerInch; /* Vertical pixels/inch of system. */
|
|
extern INT gcyStatus; /* Saves height of the status window. */
|
|
|
|
/*-- Some state variables.----------------------------------------------*/
|
|
extern INT gState; /* Has the editor "state" or mode. */
|
|
extern BOOL gfResChged; /* Tell if RES has changed */
|
|
extern BOOL gfIncChged; /* Tell if include has changed */
|
|
extern BOOL gfDlgChanged; /* TRUE if current dialog has changed. */
|
|
extern INT gcSelected; /* Count of selected windows. */
|
|
extern BOOL gfTestMode; /* TRUE if in "test" mode. */
|
|
extern BOOL gfDisabled; /* TRUE if editing is disabled for now. */
|
|
extern BOOL gfEditingDlg; /* TRUE means a dlg is picked to edit. */
|
|
extern BOOL gfDlgSelected; /* TRUE if the dialog has the selection.*/
|
|
extern RECT grcMinDialog; /* Minimum tracking size of the dialog. */
|
|
extern RECT grcDlgClient; /* Rectangle of the dialogs "client". */
|
|
extern POINT gptCursorOffset; /* Offset from ctrl origin to pointer. */
|
|
extern RECT grcSelected; /* Rectangle around selected controls. */
|
|
extern RECT grcCopy; /* Rect around controls being copied. */
|
|
extern RECT grcTrackDU; /* Tracking rect when dragging a control*/
|
|
extern RECT grcTrackWin; /* Track rect in window units. */
|
|
extern BOOL gfTrackRectShown; /* TRUE if track rect is visible. */
|
|
extern HDC ghDCTrack; /* Clip DC used when tracking. */
|
|
extern INT gHandleHit; /* Current drag handle being tracked. */
|
|
extern INT gnOverHang; /* Maximum overhang during the drag. */
|
|
extern PRES gpResCopy; /* Copy of dialog/controls. */
|
|
|
|
/*-- CTYPE linked lists.------------------------------------------------*/
|
|
extern NPCTYPE npcHead; /* Linked List of controls. */
|
|
extern INT cWindows; /* Number of Controls in pctype list. */
|
|
extern NPCTYPE gnpcSel; /* The currently selected control. */
|
|
|
|
/*-- Cursors used by editor.--------------------------------------------*/
|
|
extern HCURSOR hcurArrow; /* Normal arrow cursor. */
|
|
extern HCURSOR hcurWait; /* User Wait cursor, Hourglass. */
|
|
extern HCURSOR hcurOutSel; /* Outline selection cursor. */
|
|
extern HCURSOR hcurMove; /* System "Move" cursor. */
|
|
extern HCURSOR hcurInsert; /* Insert cursor for Order/Group dialog.*/
|
|
extern HCURSOR hcurDropTool; /* Cursor for when dropping new ctrls. */
|
|
extern HCURSOR hcurSizeNESW; /* System sizing "NESW" cursor. */
|
|
extern HCURSOR hcurSizeNS; /* System sizing "NS" cursor. */
|
|
extern HCURSOR hcurSizeNWSE; /* System sizing "NWSE" cursor. */
|
|
extern HCURSOR hcurSizeWE; /* System sizing "WE" cursor. */
|
|
extern HBITMAP hbmTabStop; /* Bitmap for showing WS_TABSTOP style. */
|
|
extern HBITMAP hbmTabStopSel; /* Selected version of the above. */
|
|
|
|
/*-- Window Class Strings.----------------------------------------------*/
|
|
extern TCHAR szMainClass[]; /* Application window class. */
|
|
extern TCHAR szDragClass[]; /* Class for drag handle windows. */
|
|
extern TCHAR szSubClientClass[];/* Short client area window class. */
|
|
extern TCHAR szToolboxClass[]; /* Toolbox window class. */
|
|
extern TCHAR szToolBtnClass[]; /* Toolbox button window class. */
|
|
extern TCHAR szCustomClass[]; /* Our custom emulator class. */
|
|
|
|
/*-- Miscellaneous variables.-------------------------------------------*/
|
|
extern UINT fmtDlg; /* The Dialog Clipboard format */
|
|
extern TCHAR szEmpty[]; /* An empty string. */
|
|
extern HHOOK ghhkMsgFilter; /* Hook for message filter func. */
|
|
|
|
/*-- Buffers.-----------------------------------------------------------*/
|
|
extern TCHAR szFullResFile[]; /* Full resource file name */
|
|
extern LPTSTR pszResFile; /* Points to resource file name */
|
|
extern TCHAR szFullIncludeFile[];/* Full include file name */
|
|
extern LPTSTR pszIncludeFile; /* Points to include file name */
|
|
extern TCHAR gszHelpFile[]; /* Path to the help file. */
|
|
|
|
/*
|
|
* Write buffer and index into it. This buffer is used by several
|
|
* sections to write out the different files. Note that only one
|
|
* file can be written out at a time using these globals.
|
|
*/
|
|
extern TCHAR gachWriteBuffer[]; /* Buffer for written file data. */
|
|
extern INT cbWritePos; /* Pointer into gachWriteBuffer. */
|
|
|
|
/*-- Include Data.------------------------------------------------------*/
|
|
extern NPLABEL plInclude; /* Pointer to Include data */
|
|
extern NPLABEL plDelInclude; /* Pointer to deleted includes */
|
|
|
|
/*
|
|
* Describes each window class. Indexed by the W_ defined constants.
|
|
*/
|
|
extern WINDOWCLASSDESC awcd[];
|
|
|
|
/* Map low word of button control style to button type (W_). */
|
|
extern INT rgmpiClsBtnType[];
|
|
|
|
/* Map low word of Static Control Style to static type. */
|
|
extern INT rgmpiClsStcType[];
|
|
|
|
extern CLASSSTYLEDESC acsd[];
|
|
|
|
/*
|
|
* Message box messages, for the Message() function.
|
|
*/
|
|
extern MESSAGEDATA gamdMessages[];
|
|
|
|
extern HELPMAP gahmapMenu[]; /* Maps menu ids to their help context. */
|
|
extern HELPMAP gahmapDialog[]; /* Maps dlg ids to their help context. */
|
|
|
|
extern LANGTABLE gaLangTable[]; /* Table of languages. */
|
|
extern INT gcLanguages; /* Count of languages in the table. */
|
|
|