Reorder the toolbar buttons
This commit is contained in:
@@ -16,15 +16,27 @@ static HIMAGELIST hImageList = NULL;
|
|||||||
static wchar_t wTitle[512] = { 0 };
|
static wchar_t wTitle[512] = { 0 };
|
||||||
static WNDPROC pOriginalProcedure = NULL;
|
static WNDPROC pOriginalProcedure = NULL;
|
||||||
|
|
||||||
|
// Used for image list indices
|
||||||
|
// Don't shuffle the values up without updating `ToolBarLoadIcons` to follow suit!
|
||||||
|
enum image_index {
|
||||||
|
RUN,
|
||||||
|
PAUSE,
|
||||||
|
CTRL_ALT_DEL,
|
||||||
|
CTRL_ALT_ESC,
|
||||||
|
HARD_RESET,
|
||||||
|
ACPI_SHUTDOWN,
|
||||||
|
SETTINGS
|
||||||
|
};
|
||||||
|
|
||||||
static TBBUTTON buttons[] = {
|
static TBBUTTON buttons[] = {
|
||||||
{ 1, IDM_ACTION_PAUSE, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 }, // Pause
|
{ PAUSE, IDM_ACTION_PAUSE, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||||
{ 0, 0, TBSTATE_INDETERMINATE, BTNS_SEP, { 0 }, 0, 0 },
|
{ HARD_RESET, IDM_ACTION_HRESET, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||||
{ 2, IDM_ACTION_RESET_CAD, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 }, // Ctrl+Alt+Del
|
{ ACPI_SHUTDOWN, 0, TBSTATE_INDETERMINATE, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||||
{ 3, IDM_ACTION_CTRL_ALT_ESC, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 }, // Ctrl+Alt+Esc
|
{ 0, 0, TBSTATE_INDETERMINATE, BTNS_SEP, { 0 }, 0, 0 },
|
||||||
{ 4, IDM_ACTION_HRESET, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 }, // Hard reset
|
{ CTRL_ALT_DEL, IDM_ACTION_RESET_CAD, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||||
{ 5, 0, TBSTATE_INDETERMINATE, BTNS_BUTTON, { 0 }, 0, 0 }, // ACPI shutdown
|
{ CTRL_ALT_ESC, IDM_ACTION_CTRL_ALT_ESC, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||||
{ 0, 0, TBSTATE_INDETERMINATE, BTNS_SEP, { 0 }, 0, 0 },
|
{ 0, 0, TBSTATE_INDETERMINATE, BTNS_SEP, { 0 }, 0, 0 },
|
||||||
{ 6, IDM_CONFIG, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 } // Settings
|
{ SETTINGS, IDM_CONFIG, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -89,6 +101,9 @@ ToolBarLoadIcons()
|
|||||||
win_get_system_metrics(SM_CYSMICON, dpi),
|
win_get_system_metrics(SM_CYSMICON, dpi),
|
||||||
ILC_MASK | ILC_COLOR32, 1, 1);
|
ILC_MASK | ILC_COLOR32, 1, 1);
|
||||||
|
|
||||||
|
// The icons must be loaded in the same order as the `image_index`
|
||||||
|
// enumeration on top of the source file.
|
||||||
|
|
||||||
ImageList_AddIcon(hImageList, hIcon[200]); // Run
|
ImageList_AddIcon(hImageList, hIcon[200]); // Run
|
||||||
ImageList_AddIcon(hImageList, hIcon[201]); // Pause
|
ImageList_AddIcon(hImageList, hIcon[201]); // Pause
|
||||||
ImageList_AddIcon(hImageList, hIcon[202]); // Ctrl+Alt+Delete
|
ImageList_AddIcon(hImageList, hIcon[202]); // Ctrl+Alt+Delete
|
||||||
@@ -108,7 +123,7 @@ ToolBarUpdatePause(int pause)
|
|||||||
|
|
||||||
tbbi.cbSize = sizeof(tbbi);
|
tbbi.cbSize = sizeof(tbbi);
|
||||||
tbbi.dwMask = TBIF_IMAGE;
|
tbbi.dwMask = TBIF_IMAGE;
|
||||||
tbbi.iImage = pause ? 0 : 1;
|
tbbi.iImage = pause ? RUN : PAUSE;
|
||||||
|
|
||||||
SendMessage(hwndToolbar, TB_SETBUTTONINFO, IDM_ACTION_PAUSE, (LPARAM) &tbbi);
|
SendMessage(hwndToolbar, TB_SETBUTTONINFO, IDM_ACTION_PAUSE, (LPARAM) &tbbi);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user