Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

356 lines
7.3 KiB

/*++
Copyright (c) 1990-1995 Microsoft Corporation
Module Name:
dlgctrl.h
Abstract:
This module contains predefines and prototypes for the dialog box control
for the commoon UI
Author:
28-Aug-1995 Mon 12:14:51 created -by- Daniel Chou (danielc)
[Environment:]
NT Windows - Common Printer Driver UI DLL.
[Notes:]
Revision History:
--*/
#define CTRLS_FIRST 0x80
#define CTRLS_RADIO 0x80
#define CTRLS_UDARROW 0x81
#define CTRLS_UDARROW_EDIT 0x82
#define CTRLS_TRACKBAR 0x83
#define CTRLS_HSCROLL 0x84
#define CTRLS_VSCROLL 0x85
#define CTRLS_LISTBOX 0x86
#define CTRLS_COMBOBOX 0x87
#define CTRLS_EDITBOX 0x88
#define CTRLS_PUSHBUTTON 0x89
#define CTRLS_CHKBOX 0x8a
#define CTRLS_EXTCHKBOX 0x8b
#define CTRLS_EXTPUSH 0x8c
#define CTRLS_TV_WND 0x8d
#define CTRLS_TV_STATIC 0x8e
#define CTRLS_PROPPAGE_STATIC 0x8f
#define CTRLS_PROPPAGE_ICON 0x90
#define CTRLS_ECBICON 0x91
#define CTRLS_NOINPUT 0x92
#define CTRLS_LAST 0x92
#define INITCF_ENABLE 0x0001
#define INITCF_INIT 0x0002
#define INITCF_SETCTRLDATA 0x0004
#define INITCF_ADDSELPOSTFIX 0x0008
#define INITCF_ICON_NOTIFY 0x0010
#define INITCF_HAS_EXT 0x0020
#define INITCF_TVDLG 0x0040
#define CTRLDATA_ITEMIDX_ADD 11
#define SETCTRLDATA(hCtrl, CtrlStyle, CtrlData) \
{ \
SetWindowLongPtr((hCtrl), \
GWLP_USERDATA, \
(LPARAM)MAKELONG(MAKEWORD((CtrlData),(CtrlStyle)), \
(InitItemIdx+CTRLDATA_ITEMIDX_ADD))); \
}
#define HCTRL_SETCTRLDATA(hCtrl, CtrlStyle, CtrlData) \
{ \
if ((hCtrl) && (InitFlags & INITCF_SETCTRLDATA)) { \
\
SETCTRLDATA(hCtrl, CtrlStyle, CtrlData); \
} \
}
#define GETCTRLITEMIDX(dw) (HIWORD(dw)-CTRLDATA_ITEMIDX_ADD)
#define GETCTRLDATA(dw,i,s,d) (i)=GETCTRLITEMIDX(dw); \
(d)=LOBYTE(LOWORD(dw));(s)=HIBYTE(LOWORD(dw))
#define REAL_ECB_CHECKED(pItem, pECB) \
(BOOL)(((pECB) = (pItem)->pExtChkBox) && \
(((pItem)->Flags & (OPTIF_EXT_HIDE | OPTIF_EXT_IS_EXTPUSH | \
OPTIF_ECB_CHECKED)) == OPTIF_ECB_CHECKED))
#define INIT_EXTENDED(pTVWnd,hDlg,pItem,ecbID,epID,IconID,Idx,InitFlags) \
((pItem->Flags & OPTIF_EXT_IS_EXTPUSH) ? \
InitExtPush(pTVWnd,hDlg,pItem,ecbID,epID,IconID,Idx,InitFlags) : \
InitExtChkBox(pTVWnd,hDlg,pItem,ecbID,epID,IconID,Idx,InitFlags))
typedef struct _DLGIDINFO {
HWND hDlg;
DWORD CurID;
} DLGIDINFO, *PDLGIDINFO;
//
// Prototypes
//
VOID
SetUniqChildID(
HWND hDlg
);
BOOL
hCtrlrcWnd(
HWND hDlg,
HWND hCtrl,
RECT *prc
);
HWND
CtrlIDrcWnd(
HWND hDlg,
UINT CtrlID,
RECT *prc
);
BOOL
ChkEditKEYDOWN(
HWND hWnd,
WPARAM VKey
);
BOOL
ChkhWndEdit0KEYDOWN(
HWND hWnd,
WPARAM VKey
);
DWORD
ReCreateLBCB(
HWND hDlg,
UINT CtrlID,
BOOL IsLB
);
HWND
CreateTrackBar(
HWND hDlg,
UINT TrackBarID
);
HWND
CreateUDArrow(
HWND hDlg,
UINT EditBoxID,
UINT UDArrowID,
LONG RangeL,
LONG RangeH,
LONG Pos
);
BOOL
SetDlgPageItemName(
HWND hDlg,
PTVWND pTVWnd,
POPTITEM pItem,
UINT InitFlags,
UINT UDArrowHelpID
);
BOOL
InitExtPush(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
UINT ExtChkBoxID,
UINT ExtPushID,
UINT ExtIconID,
WORD InitItemIdx,
WORD InitFlags
);
BOOL
InitExtChkBox(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
UINT ExtChkBoxID,
UINT ExtPushID,
UINT ExtIconID,
WORD InitItemIdx,
WORD InitFlags
);
UINT
InitStates(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
POPTTYPE pOptType,
UINT IDState1,
WORD InitItemIdx,
LONG NewSel,
WORD InitFlags
);
LONG
InitUDArrow(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
POPTPARAM pOptParam,
UINT UDArrowID,
UINT EditBoxID,
UINT PostfixID,
UINT HelpID,
WORD InitItemIdx,
LONG NewPos,
WORD InitFlags
);
VOID
InitTBSB(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
HWND hTBSB,
POPTTYPE pOptType,
UINT PostfixID,
UINT RangeLID,
UINT RangeHID,
WORD InitItemIdx,
LONG NewPos,
WORD InitFlags
);
VOID
InitLBCB(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
UINT idLBCB,
UINT SetCurSelID,
POPTTYPE pOptType,
WORD InitItemIdx,
LONG NewSel,
WORD InitFlags,
UINT cyLBCBMax
);
VOID
InitEditBox(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
POPTPARAM pOptParam,
UINT EditBoxID,
UINT PostfixID,
UINT HelpID,
WORD InitItemIdx,
LPTSTR pCurText,
WORD InitFlags
);
VOID
InitPushButton(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
WORD PushID,
WORD InitItemIdx,
WORD InitFlags
);
VOID
InitChkBox(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
UINT ChkBoxID,
LPTSTR pTitle,
WORD InitItemIdx,
BOOL Checked,
WORD InitFlags
);
LONG
DoCallBack(
HWND hDlg,
PTVWND pTVWnd,
POPTITEM pItem,
LPVOID pOldSel,
_CPSUICALLBACK pfnCallBack,
HANDLE hDlgTemplate,
WORD DlgTemplateID,
WORD Reason
);
POPTITEM
pItemFromhWnd(
HWND hDlg,
PTVWND pTVWnd,
HWND hCtrl,
LONG MousePos
);
VOID
DoContextMenu(
PTVWND pTVWnd,
HWND hDlg,
POPTITEM pItem,
LPARAM Pos
);
UINT
UpdateInternalDMPUB(
HWND hDlg,
PTVWND pTVWnd,
POPTITEM pItem
);
VOID
UpdateOptTypeIcon16(
POPTTYPE pOptType
);
BOOL
DrawLBCBItem(
PTVWND pTVWnd,
LPDRAWITEMSTRUCT pdis
);
POPTITEM
DlgHScrollCommand(
HWND hDlg,
PTVWND pTVWnd,
HWND hCtrl,
WPARAM wParam
);
LONG
UpdateCallBackChanges(
HWND hDlg,
PTVWND pTVWnd,
BOOL ReInit
);
BOOL
DoAbout(
HWND hDlg,
PTVWND pTVWnd,
POPTITEM pItemRoot
);