249 lines
8.8 KiB
C
249 lines
8.8 KiB
C
|
// Copyright (c) 1996-1999 Microsoft Corporation
|
||
|
|
||
|
//----------------------------------------------------------------------//
|
||
|
// WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! //
|
||
|
// DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! //
|
||
|
// WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! //
|
||
|
//----------------------------------------------------------------------//
|
||
|
// //
|
||
|
// WARNING! This file is part of the SDM project. DANGER! //
|
||
|
// WARNING! Do not modify it! If you change this file DANGER! //
|
||
|
// WARNING! you will break the build when SDM is updated! DANGER! //
|
||
|
// WARNING! If you need to make changes, make them in the DANGER! //
|
||
|
// WARNING! SDM project. If you don't know where that is DANGER! //
|
||
|
// WARNING! contact NeilH. In fact, contact NeilH DANGER! //
|
||
|
// WARNING! anyway, to make sure your change doesn't break DANGER! //
|
||
|
// WARNING! a version that you're not using. Thank you. DANGER! //
|
||
|
// //
|
||
|
//----------------------------------------------------------------------//
|
||
|
// WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! //
|
||
|
// DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! //
|
||
|
// WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! WARNING! DANGER! //
|
||
|
//----------------------------------------------------------------------//
|
||
|
|
||
|
//------------------------------------------------------------------------
|
||
|
// SDMTOWCT.H - include file containing the interface to be used for
|
||
|
// communication from outside applications with SDM dialogs.
|
||
|
//------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef SDM_WCT_DEFINED
|
||
|
#define SDM_WCT_DEFINED
|
||
|
|
||
|
//------------------------------------------------------------------------
|
||
|
// WCT/SDM Values - Definitions and descriptions
|
||
|
//------------------------------------------------------------------------
|
||
|
#define wVerWord 2 // WinWord format
|
||
|
|
||
|
|
||
|
// A pointer to an array of WCTL structures is passed as the lParam
|
||
|
// in a WM_GETCONTROLS message when wParam is wVerWord.
|
||
|
//
|
||
|
|
||
|
// 32-bit structure
|
||
|
typedef struct _wctl32
|
||
|
{
|
||
|
WORD wtp; // Item type
|
||
|
WORD wId; // Unique identifier within this dialog (TMC)
|
||
|
WORD wState; // Current value if fHasState
|
||
|
WORD cchText; // Size of text value, if fHasText
|
||
|
WORD cchTitle; // Size of title, if fHasTitle
|
||
|
WORD wPad1; // First padding word for WIN32
|
||
|
#ifdef MAC
|
||
|
Rect rect; // Rectangle in dialog window
|
||
|
#else
|
||
|
RECT rect; // Rectangle in dialog window
|
||
|
#endif
|
||
|
LONG fHasState:1; // Can this type of item have a numeric state?
|
||
|
LONG fHasText:1; // Can this type of item have a text value?
|
||
|
LONG fHasTitle:1; // Does the item have a title?
|
||
|
LONG fEnabled:1; // Is the item currently enabled?
|
||
|
LONG fVisible:1; // Is the item visible?
|
||
|
LONG fCombo:1; // Is the item a combo edit or listbox?
|
||
|
LONG fSpin:1; // Is the item a spin edit?
|
||
|
LONG fOwnerDraw:1; // Is the item owner-draw (or extended listbox)?
|
||
|
LONG fCanFocus:1; // Can the item receive focus?
|
||
|
LONG fHasFocus:1; // Does the item have focus?
|
||
|
LONG fList:1; // Supports wtxi.wIndex, WM_GETLISTCOUNT
|
||
|
LONG lReserved:21; // A bunch o' bits
|
||
|
WORD wParam1; // for tmtStaticText, tmtFormattedText
|
||
|
WORD wParam2; // as above
|
||
|
WORD wParam3; // yet another spare value for drawing routines
|
||
|
WORD wPad2; // Second padding word for WIN32
|
||
|
} WCTL32, *PWCTL32, FAR *LPWCTL32;
|
||
|
|
||
|
|
||
|
#pragma pack(1)
|
||
|
// 16-bit structure
|
||
|
typedef struct _wctl16
|
||
|
{
|
||
|
WORD wtp; // Item type
|
||
|
WORD wId; // Unique identifier within this dialog (TMC)
|
||
|
WORD wState; // Current value if fHasState
|
||
|
WORD cchText; // Size of text value, if fHasText
|
||
|
WORD cchTitle; // Size of title, if fHasTitle
|
||
|
#ifdef MAC
|
||
|
Rect rect; // Rectangle in dialog window
|
||
|
#else
|
||
|
short left;
|
||
|
short top;
|
||
|
short right;
|
||
|
short bottom;
|
||
|
#endif
|
||
|
LONG fHasState:1; // Can this type of item have a numeric state?
|
||
|
LONG fHasText:1; // Can this type of item have a text value?
|
||
|
LONG fHasTitle:1; // Does the item have a title?
|
||
|
LONG fEnabled:1; // Is the item currently enabled?
|
||
|
LONG fVisible:1; // Is the item visible?
|
||
|
LONG fCombo:1; // Is the item a combo edit or listbox?
|
||
|
LONG fSpin:1; // Is the item a spin edit?
|
||
|
LONG fOwnerDraw:1; // Is the item owner-draw (or extended listbox)?
|
||
|
LONG fCanFocus:1; // Can the item receive focus?
|
||
|
LONG fHasFocus:1; // Does the item have focus?
|
||
|
LONG fList:1; // Supports wtxi.wIndex, WM_GETLISTCOUNT
|
||
|
LONG lReserved:21; // A bunch o' bits
|
||
|
} WCTL16, *PWCTL16, FAR *LPWCTL16;
|
||
|
#pragma pack()
|
||
|
|
||
|
|
||
|
/* Possible values for wctl.wtp */
|
||
|
#define wtpMin 1
|
||
|
#define wtpStaticText 1
|
||
|
#define wtpPushButton 2
|
||
|
#define wtpCheckBox 3
|
||
|
#define wtpRadioButton 4
|
||
|
#define wtpGroupBox 5
|
||
|
#define wtpEdit 6
|
||
|
#define wtpFormattedText 7
|
||
|
#define wtpListBox 8
|
||
|
#define wtpDropList 9
|
||
|
#define wtpBitmap 10
|
||
|
#define wtpGeneralPicture 11
|
||
|
#define wtpScroll 12
|
||
|
#define wtpMax 13
|
||
|
|
||
|
// A pointer to a WTXI structure is passed as the lParam of
|
||
|
// a WM_GETCTLTEXT or WM_GETCTLTITLE message.
|
||
|
//
|
||
|
|
||
|
// Win32 structure
|
||
|
typedef struct _wtxi32 // WinWord text info
|
||
|
{
|
||
|
#ifdef MAC
|
||
|
char* lpszBuffer; // Buffer to receive string
|
||
|
#else
|
||
|
LPSTR lpszBuffer; // Buffer to receive string
|
||
|
#endif
|
||
|
WORD cch; // Size of buffer to receive string, in chars
|
||
|
WORD wId; // Item identifier (TMC) (as in wctl.wId)
|
||
|
#ifdef MAC
|
||
|
Rect rect; // Only used for WM_GETCTLTITLE
|
||
|
#else
|
||
|
RECT rect; // Only used for WM_GETCTLTITLE
|
||
|
#endif
|
||
|
WORD wIndex; // Only used for WM_GETCTLTEXT on ListBoxes
|
||
|
WORD wPad1; // Padding for Win32
|
||
|
} WTXI32, *PWTXI32, FAR *LPWTXI32;
|
||
|
|
||
|
|
||
|
// Win16 structure
|
||
|
#pragma pack(1)
|
||
|
typedef struct _wtxi16
|
||
|
{
|
||
|
#ifdef MAC
|
||
|
char* lpszBuffer; // Buffer to receive string
|
||
|
#else
|
||
|
LPSTR lpszBuffer; // Buffer to receive string
|
||
|
#endif
|
||
|
WORD cch; // Size of buffer to receive string, in chars
|
||
|
WORD wId; // Item identifier (TMC) (as in wctl.wId)
|
||
|
#ifdef MAC
|
||
|
Rect rect; // Only used for WM_GETCTLTITLE
|
||
|
#else
|
||
|
short left;
|
||
|
short top;
|
||
|
short right;
|
||
|
short bottom;
|
||
|
#endif
|
||
|
WORD wIndex; // Only used for WM_GETCTLTEXT on ListBoxes
|
||
|
} WTXI16, *PWTXI16, FAR *LPWTXI16;
|
||
|
#pragma pack()
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------
|
||
|
// WCT/SDM MESSAGES - Definitions and descriptions
|
||
|
//------------------------------------------------------------------------
|
||
|
|
||
|
#define WM_GETCOUNT 0x7FFE
|
||
|
// Returns the number of bytes needed to store control info.
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - Unused
|
||
|
// Must be 0
|
||
|
|
||
|
#define WM_GETCONTROLSSHAREDMEM 0x7FF6
|
||
|
#define WM_GETCONTROLS 0x7FF7
|
||
|
// Retrieves control information for the dialog.
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - LPWCTL
|
||
|
// Must be at least the size returned by WM_GETCOUNT
|
||
|
// Return value is the number of WCTL structures filled.
|
||
|
|
||
|
#define WM_GETCTLTEXT 0x7FFD
|
||
|
// Retrieves the text value for the specified control
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - LPWTXI
|
||
|
// (*lParam)->wId is the wctl.wId retrieved by WM_GETCONTROLS.
|
||
|
// For a listbox (wtpListBox or wtpDropList) (*lParam)->wIndex
|
||
|
// must be the index of the listbox entry to be retrieved.
|
||
|
|
||
|
#define WM_GETCTLTITLE 0x7FFC
|
||
|
// Retrieves the title of the specified control
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - LPWTXI
|
||
|
// (*lParam)->wId is the wctl.wId retrieved by WM_GETCONTROLS
|
||
|
|
||
|
#define WM_GETCTLFOCUS 0x7FFB
|
||
|
// Returns the wId (TMC) (as in wctl.wId) of the control with focus.
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - Unused
|
||
|
// Must be 0
|
||
|
|
||
|
#define WM_SETCTLFOCUS 0x7FFA
|
||
|
// Sets focus to the specified control
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - a wId value as retrieved by WM_GETCONTROLS
|
||
|
|
||
|
#define WM_GETLISTCOUNT 0x7FF9
|
||
|
// Returns the number of entries in a listbox
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - a wId value as retrieved by WM_GETCONTROLS
|
||
|
// Must be a listbox (wtpListBox or wtpDropList)
|
||
|
|
||
|
#define WM_GETHELPID 0x7FF8
|
||
|
// Returns the dialog's Help ID
|
||
|
// wParam - the version id
|
||
|
// Must be wVerWord
|
||
|
// lParam - Unused
|
||
|
// Must be 0
|
||
|
|
||
|
#define WM_GETCONTROLSMOUSEDRV 0x7FFF
|
||
|
// special "light" version of GETCONTROLS
|
||
|
// used by the mouse 9.01 driver
|
||
|
|
||
|
#define WM_GETDROPDOWNID 0x7FF5
|
||
|
//Returns the item identifier (TMC) of the control that currently owns the dropdown list window
|
||
|
//This message should be sent directly to the dropdown list window.
|
||
|
// wParam - the version id
|
||
|
// Must be wVerAnsi or wVerUnicode
|
||
|
// lParam - Unused
|
||
|
// Must be 0
|
||
|
|
||
|
#endif //SDM_WCT_DEFINED
|
||
|
|