WindowsXP-SP1/windows/oleacc/oleacc/sdm95.h
2020-09-30 16:53:49 +02:00

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