11 typedef struct _DOCKBAR
16 DOCK_POSITION Position
;
19 struct _TOOLBAR_DOCKS
;
21 typedef BOOL (CALLBACK
*PDOCKBAR_CREATECLIENT
)(struct _TOOLBAR_DOCKS
*TbDocks
,
22 const DOCKBAR
*Dockbar
,
26 typedef BOOL (CALLBACK
*PDOCKBAR_DESTROYCLIENT
)(struct _TOOLBAR_DOCKS
*TbDocks
,
27 const DOCKBAR
*Dockbar
,
30 typedef BOOL (CALLBACK
*PDOCKBAR_INSERTBAND
)(struct _TOOLBAR_DOCKS
*TbDocks
,
31 const DOCKBAR
*Dockbar
,
35 typedef VOID (CALLBACK
*PDOCKBAR_DOCKBAND
)(struct _TOOLBAR_DOCKS
*TbDocks
,
36 const DOCKBAR
*Dockbar
,
38 DOCK_POSITION DockFrom
,
41 typedef VOID (CALLBACK
*PDOCKBAR_CHEVRONPUSHED
)(struct _TOOLBAR_DOCKS
*TbDocks
,
42 const DOCKBAR
*Dockbar
,
45 LPNMREBARCHEVRON lpnm
);
47 typedef struct _DOCKBAR_ITEM_CALLBACKS
49 PDOCKBAR_CREATECLIENT CreateClient
;
50 PDOCKBAR_DESTROYCLIENT DestroyClient
;
51 PDOCKBAR_INSERTBAND InsertBand
;
52 PDOCKBAR_DOCKBAND DockBand
;
53 PDOCKBAR_CHEVRONPUSHED ChevronPushed
;
54 } DOCKBAR_ITEM_CALLBACKS
, *PDOCKBAR_ITEM_CALLBACKS
;
56 typedef struct _DOCKBAR_ITEM
58 struct _DOCKBAR_ITEM
*Next
;
63 DOCK_POSITION PrevDock
;
65 const DOCKBAR_ITEM_CALLBACKS
*Callbacks
;
66 } DOCKBAR_ITEM
, *PDOCKBAR_ITEM
;
68 typedef VOID (CALLBACK
*PDOCKBAR_PARENTRESIZE
)(PVOID Context
,
73 typedef struct _TOOLBAR_DOCKS
77 HWND hRebar
[DOCKS_COUNT
];
78 RECT rcRebar
[DOCKS_COUNT
];
81 PDOCKBAR_PARENTRESIZE ParentResize
;
82 PDOCKBAR_ITEM Dragging
;
84 TCHAR szTempText
[255];
85 } TOOLBAR_DOCKS
, *PTOOLBAR_DOCKS
;
87 VOID
TbdInitializeDocks(PTOOLBAR_DOCKS TbDocks
,
90 PDOCKBAR_PARENTRESIZE ParentResizeProc
);
91 INT
TbdAdjustUpdateClientRect(PTOOLBAR_DOCKS TbDocks
,
93 HDWP
TbdDeferDocks(HDWP hWinPosInfo
,
94 PTOOLBAR_DOCKS TbDocks
);
95 BOOL
TbdAddToolbar(PTOOLBAR_DOCKS TbDocks
,
96 const DOCKBAR
*Dockbar
,
98 const DOCKBAR_ITEM_CALLBACKS
*DockbarCallbacks
);
99 BOOL
TbdDockBarIdFromClientWindow(PTOOLBAR_DOCKS TbDocks
,
102 BOOL
TbdHandleNotifications(PTOOLBAR_DOCKS TbDocks
,
105 VOID
TbdHandleEnabling(PTOOLBAR_DOCKS TbDocks
,
108 VOID
TbdHandleActivation(PTOOLBAR_DOCKS TbDocks
,
112 VOID
TbdShowFloatingToolbars(PTOOLBAR_DOCKS TbDocks
,
114 BOOL
TbdInitImpl(VOID
);
115 VOID
TbdUninitImpl(VOID
);