windows-nt/Source/XPSP1/NT/printscan/fax/faxqueue/toolbar.cpp
2020-09-26 16:20:57 +08:00

156 lines
4 KiB
C++

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
toolbar.cpp
Abstract:
This module implements the toolbar functions for the fax queue viewer
Environment:
WIN32 User Mode
Author:
Andrew Ritz (andrewr) 14-jan-1998
Steven Kehrli (steveke) 30-oct-1998 - major rewrite
--*/
#ifdef TOOLBAR_ENABLED
#include "faxqueue.h"
#define NUMIMAGES 5
#define IMAGEWIDTH 22
#define IMAGEHEIGHT 24
#define BUTTONWIDTH 22
#define BUTTONHEIGHT 24
TBBUTTON ToolBarButton[] =
{
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
// {0, IDM_FAX_PAUSE_FAXING, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
// {0, IDM_FAX_CANCEL_ALL_FAXES, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
{1, IDM_DOCUMENT_PAUSE, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
{2, IDM_DOCUMENT_RESUME, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, IDM_DOCUMENT_RESTART, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
{0, IDM_DOCUMENT_CANCEL, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
// {0, IDM_DOCUMENT_PROPERTIES, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
{4, IDM_VIEW_REFRESH, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0},
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0},
{3, IDM_HELP_TOPICS, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0,0}, 0, 0}
// {0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, {0,0}, 0, 0}
};
TOOLBAR_MENU_STATE ToolbarMenuState[] =
{
{IDM_FAX_PAUSE_FAXING, FALSE, FALSE},
{IDM_FAX_CANCEL_ALL_FAXES, FALSE, FALSE},
{IDM_DOCUMENT_PAUSE, FALSE, TRUE},
{IDM_DOCUMENT_RESUME, FALSE, TRUE},
{IDM_DOCUMENT_RESTART, FALSE, FALSE},
{IDM_DOCUMENT_CANCEL, FALSE, TRUE},
{IDM_DOCUMENT_PROPERTIES, FALSE, FALSE},
{IDM_VIEW_REFRESH, FALSE, TRUE},
{IDM_HELP_TOPICS, FALSE, TRUE},
};
VOID
EnableToolbarMenuState(
HWND hWndToolbar,
DWORD CommandId,
BOOL Enabled
)
{
DWORD dwIndex;
dwIndex = CommandId - IDM_FAX_PAUSE_FAXING;
// Set the toolbar menu state
ToolbarMenuState[dwIndex].Enabled = Enabled;
if ((hWndToolbar) && (ToolbarMenuState[dwIndex].Toolbar)) {
if (CommandId == IDM_FAX_PAUSE_FAXING) {
// Toolbar menu item is for pause faxing, so change the toolbar menu item bitmap
SendMessage(hWndToolbar, TB_CHANGEBITMAP, CommandId, Enabled ? 0 : 1);
}
else {
// Enable the toolbar menu item
SendMessage(hWndToolbar, TB_ENABLEBUTTON, CommandId, Enabled);
}
}
}
HWND
CreateToolbar(
HWND hWnd
)
{
// hWndToolbar is the handle to the toolbar
HWND hWndToolbar;
// Create the toolbar
hWndToolbar = CreateToolbarEx(
hWnd,
WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS | TBSTYLE_FLAT,
IDM_TOOLBAR,
NUMIMAGES,
g_hInstance,
IDB_TOOLBAR,
ToolBarButton,
sizeof(ToolBarButton) / sizeof(TBBUTTON),
BUTTONWIDTH,
BUTTONHEIGHT,
IMAGEWIDTH,
IMAGEHEIGHT,
sizeof(TBBUTTON)
);
if (hWndToolbar) {
SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0);
}
return hWndToolbar;
}
HWND
CreateToolTips(
HWND hWnd
)
{
// hWndToolTips is the handle to the tooltips window
HWND hWndToolTips;
// Create the tooltips window
hWndToolTips = CreateWindowEx(
WS_EX_TOOLWINDOW,
TOOLTIPS_CLASS,
NULL,
WS_CHILD,
0,
0,
0,
0,
hWnd,
(HMENU) IDM_TOOLTIP,
g_hInstance,
NULL
);
return hWndToolTips;
}
#endif // TOOLBAR_ENABLED