[EXPLORER][SHELL32] Smaller Start Menu (#6646)

Improve customization of Start Menu.
JIRA issue: CORE-19494
- Add SmallStartMenu flag to TW_STRUCKRECTS2
  structure.
- Add IDS_ADVANCED_SMALL_START_MENU
  resource string.
- Update g_TaskbarSettings.sr.SmallStartMenu via
  a callback function.
- Check g_TaskbarSettings.sr.SmallStartMenu
  when Start Menu is updated.
This commit is contained in:
Katayama Hirofumi MZ 2024-03-20 07:32:52 +09:00 committed by GitHub
parent 2f03b146da
commit ad748b0b3b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 119 additions and 52 deletions

View file

@ -205,6 +205,7 @@ typedef struct _TW_STUCKRECTS2
DWORD AlwaysOnTop : 1;
DWORD SmallIcons : 1;
DWORD HideClock : 1;
DWORD SmallStartMenu : 1;
};
};
DWORD Position;

View file

@ -116,6 +116,7 @@
#define IDS_ADVANCED_EXPAND_NET_CONNECTIONS 30473
#define IDS_ADVANCED_DISPLAY_RUN 30474
#define IDS_ADVANCED_DISPLAY_ADMINTOOLS 30476
#define IDS_ADVANCED_SMALL_START_MENU 30477
/*******************************************************************************\
|* Control Resources *|

View file

@ -82,6 +82,7 @@ BOOL TaskbarSettings::Load()
sr.AlwaysOnTop = TRUE;
sr.SmallIcons = TRUE;
sr.HideClock = FALSE;
sr.SmallStartMenu = FALSE;
sr.Rect.left = sr.Rect.top = 0;
sr.Rect.bottom = sr.Rect.right = 1;
sr.Size.cx = sr.Size.cy = 0;

View file

@ -97,9 +97,7 @@ CreateStartMenu(IN ITrayWindow *Tray,
if (FAILED_UNEXPECTEDLY(hr))
return NULL;
UpdateStartMenu(pMp,
hbmBanner,
bSmallIcons);
UpdateStartMenu(pMp, hbmBanner, bSmallIcons);
*ppMenuBand = pMb.Detach();

View file

@ -1,26 +1,15 @@
/*
* ReactOS Explorer
*
* Copyright 2006 - 2007 Thomas Weidenmueller <w3seek@reactos.org>
* 2015 Robert Naumann <gonzomdx@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
* PROJECT: ReactOS Explorer
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: "Customize Start Menu" dialog
* COPYRIGHT: Copyright 2006-2007 Thomas Weidenmueller <w3seek@reactos.org>
* Copyright 2015 Robert Naumann <gonzomdx@gmail.com>
* Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*/
#include "precomp.h"
// TreeView checkbox state indexes (Use with INDEXTOSTATEIMAGEMASK macro)
#define I_UNCHECKED 1
#define I_CHECKED 2
@ -75,58 +64,94 @@ static VOID OnClearRecentItems(HWND hwnd)
EnableWindow(GetDlgItem(hwnd, IDC_CLASSICSTART_CLEAR), RecentHasShortcut(hwnd));
}
struct CUSTOMIZE_ENTRY;
typedef DWORD (CALLBACK *FN_CUSTOMIZE_READ)(const CUSTOMIZE_ENTRY *entry);
typedef BOOL (CALLBACK *FN_CUSTOMIZE_WRITE)(const CUSTOMIZE_ENTRY *entry, DWORD dwValue);
struct CUSTOM_ENTRY;
struct CUSTOMIZE_ENTRY
typedef BOOL (CALLBACK *FN_CUSTOM_GET)(const CUSTOM_ENTRY *entry);
typedef VOID (CALLBACK *FN_CUSTOM_SET)(const CUSTOM_ENTRY *entry, BOOL bValue);
struct CUSTOM_ENTRY
{
LPARAM id;
LPCWSTR name;
BOOL bDefaultValue;
FN_CUSTOM_GET fnGetValue;
FN_CUSTOM_SET fnSetValue;
RESTRICTIONS policy1, policy2;
};
static const CUSTOMIZE_ENTRY s_CustomizeEntries[] =
static BOOL CALLBACK CustomGetAdvanced(const CUSTOM_ENTRY *entry)
{
return GetAdvancedBool(entry->name, entry->bDefaultValue);
}
static VOID CALLBACK CustomSetAdvanced(const CUSTOM_ENTRY *entry, BOOL bValue)
{
SetAdvancedDword(entry->name, bValue);
}
static BOOL CALLBACK CustomGetSmallStartMenu(const CUSTOM_ENTRY *entry)
{
return g_TaskbarSettings.sr.SmallStartMenu;
}
static VOID CALLBACK CustomSetSmallStartMenu(const CUSTOM_ENTRY *entry, BOOL bValue)
{
g_TaskbarSettings.sr.SmallStartMenu = bValue;
}
static const CUSTOM_ENTRY s_CustomEntries[] =
{
{
IDS_ADVANCED_DISPLAY_ADMINTOOLS, L"StartMenuAdminTools", TRUE,
CustomGetAdvanced, CustomSetAdvanced,
},
{
IDS_ADVANCED_DISPLAY_FAVORITES, L"StartMenuFavorites", FALSE,
REST_NOFAVORITESMENU
CustomGetAdvanced, CustomSetAdvanced,
REST_NOFAVORITESMENU,
},
{
IDS_ADVANCED_DISPLAY_LOG_OFF, L"StartMenuLogoff", FALSE,
REST_STARTMENULOGOFF
CustomGetAdvanced, CustomSetAdvanced,
REST_STARTMENULOGOFF,
},
{
IDS_ADVANCED_DISPLAY_RUN, L"StartMenuRun", TRUE,
REST_NORUN
CustomGetAdvanced, CustomSetAdvanced,
REST_NORUN,
},
{
IDS_ADVANCED_EXPAND_MY_DOCUMENTS, L"CascadeMyDocuments", FALSE,
REST_NOSMMYDOCS
CustomGetAdvanced, CustomSetAdvanced,
REST_NOSMMYDOCS,
},
{
IDS_ADVANCED_EXPAND_MY_PICTURES, L"CascadeMyPictures", FALSE,
REST_NOSMMYPICS
CustomGetAdvanced, CustomSetAdvanced,
REST_NOSMMYPICS,
},
{
IDS_ADVANCED_EXPAND_CONTROL_PANEL, L"CascadeControlPanel", FALSE,
CustomGetAdvanced, CustomSetAdvanced,
REST_NOSETFOLDERS, REST_NOCONTROLPANEL,
},
{
IDS_ADVANCED_EXPAND_PRINTERS, L"CascadePrinters", FALSE,
REST_NOSETFOLDERS
CustomGetAdvanced, CustomSetAdvanced,
REST_NOSETFOLDERS,
},
{
IDS_ADVANCED_EXPAND_NET_CONNECTIONS, L"CascadeNetworkConnections", FALSE,
REST_NOSETFOLDERS, REST_NONETWORKCONNECTIONS
CustomGetAdvanced, CustomSetAdvanced,
REST_NOSETFOLDERS, REST_NONETWORKCONNECTIONS,
},
{
IDS_ADVANCED_SMALL_START_MENU, NULL, FALSE,
CustomGetSmallStartMenu, CustomSetSmallStartMenu,
},
};
static VOID AddCustomizeItem(HWND hTreeView, const CUSTOMIZE_ENTRY *entry)
static VOID AddCustomItem(HWND hTreeView, const CUSTOM_ENTRY *entry)
{
if (SHRestricted(entry->policy1) || SHRestricted(entry->policy2))
{
@ -134,17 +159,17 @@ static VOID AddCustomizeItem(HWND hTreeView, const CUSTOMIZE_ENTRY *entry)
return; // Restricted. Don't show
}
TV_INSERTSTRUCT Insert = { TVI_ROOT, TVI_LAST };
Insert.item.mask = TVIF_TEXT | TVIF_STATE | TVIF_PARAM;
WCHAR szText[MAX_PATH];
LoadStringW(GetModuleHandleW(L"shell32.dll"), entry->id, szText, _countof(szText));
BOOL bChecked = entry->fnGetValue(entry);
TRACE("%p: %d\n", entry->id, bChecked);
TV_INSERTSTRUCT Insert = { TVI_ROOT, TVI_LAST, { TVIF_TEXT | TVIF_STATE | TVIF_PARAM } };
Insert.item.pszText = szText;
Insert.item.lParam = entry->id;
Insert.item.stateMask = TVIS_STATEIMAGEMASK;
BOOL bChecked = GetAdvancedBool(entry->name, entry->bDefaultValue);
Insert.item.state = INDEXTOSTATEIMAGEMASK(bChecked ? I_CHECKED : I_UNCHECKED);
TRACE("%p: %d\n", entry->id, bChecked);
TreeView_InsertItem(hTreeView, &Insert);
}
@ -157,9 +182,9 @@ static void CustomizeClassic_OnInitDialog(HWND hwnd)
DWORD_PTR style = GetWindowLongPtrW(hTreeView, GWL_STYLE);
SetWindowLongPtrW(hTreeView, GWL_STYLE, style | TVS_CHECKBOXES);
for (auto& entry : s_CustomizeEntries)
for (auto& entry : s_CustomEntries)
{
AddCustomizeItem(hTreeView, &entry);
AddCustomItem(hTreeView, &entry);
}
}
@ -171,13 +196,12 @@ static BOOL CustomizeClassic_OnOK(HWND hwnd)
hItem != NULL;
hItem = TreeView_GetNextVisible(hTreeView, hItem))
{
TV_ITEM item = { TVIF_PARAM | TVIF_STATE };
item.hItem = hItem;
TV_ITEM item = { TVIF_PARAM | TVIF_STATE, hItem };
item.stateMask = TVIS_STATEIMAGEMASK;
TreeView_GetItem(hTreeView, &item);
BOOL bChecked = !!(item.state & INDEXTOSTATEIMAGEMASK(I_CHECKED));
for (auto& entry : s_CustomizeEntries)
for (auto& entry : s_CustomEntries)
{
if (SHRestricted(entry.policy1) || SHRestricted(entry.policy2))
continue;
@ -185,7 +209,7 @@ static BOOL CustomizeClassic_OnOK(HWND hwnd)
if (item.lParam == entry.id)
{
TRACE("%p: %d\n", item.lParam, bChecked);
SetAdvancedDword(entry.name, bChecked);
entry.fnSetValue(&entry, bChecked);
break;
}
}
@ -220,9 +244,7 @@ INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LP
break;
case IDOK:
if (CustomizeClassic_OnOK(hwnd))
{
EndDialog(hwnd, IDOK);
}
break;
case IDCANCEL:
EndDialog(hwnd, IDCANCEL);
@ -230,9 +252,10 @@ INT_PTR CALLBACK CustomizeClassicProc(HWND hwnd, UINT Message, WPARAM wParam, LP
}
break;
default:
return FALSE;
break;
}
return TRUE;
return FALSE;
}
VOID ShowCustomizeClassic(HINSTANCE hInst, HWND hExplorer)

View file

@ -2554,8 +2554,9 @@ ChangePos:
RegLoadSettings();
/* Create and initialize the start menu */
BOOL bSmallStartMenu = g_TaskbarSettings.sr.SmallStartMenu;
HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU));
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, 0);
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, bSmallStartMenu);
/* Create the task band */
hRet = CTaskBand_CreateInstance(this, m_StartButton.m_hWnd, IID_PPV_ARG(IDeskBand, &m_TaskBand));
@ -2663,8 +2664,10 @@ ChangePos:
/* Re-create the start menu */
HideStartMenu();
m_StartMenuBand.Release();
BOOL bSmallStartMenu = g_TaskbarSettings.sr.SmallStartMenu;
HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU));
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, FALSE);
m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, bSmallStartMenu);
}
return 0;

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1029,6 +1029,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1028,6 +1028,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1022,6 +1022,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Kleine Symbole im Startmenü anzeigen"
IDS_NEWEXT_ADVANCED_LEFT "<< Er&weitert"
IDS_NEWEXT_ADVANCED_RIGHT "&Erweitert >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1030,6 +1030,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< A&vanzado"
IDS_NEWEXT_ADVANCED_RIGHT "A&vanzado >>"

View file

@ -1028,6 +1028,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< T&äpsemalt"
IDS_NEWEXT_ADVANCED_RIGHT "Tä&psemalt >>"

View file

@ -1026,6 +1026,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< &Aurreratua"
IDS_NEWEXT_ADVANCED_RIGHT "&Aurreratua >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Avancé"
IDS_NEWEXT_ADVANCED_RIGHT "Avancé >>"

View file

@ -1028,6 +1028,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< &מתקדם"
IDS_NEWEXT_ADVANCED_RIGHT "&מתקדם >>"

View file

@ -1023,6 +1023,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< &उन्नत"
IDS_NEWEXT_ADVANCED_RIGHT "&उन्नत >>"

View file

@ -1020,6 +1020,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< &Haladó"
IDS_NEWEXT_ADVANCED_RIGHT "&Haladó >>"

View file

@ -1018,6 +1018,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Tin&gkat lanjut"
IDS_NEWEXT_ADVANCED_RIGHT "Tin&gkat lanjut >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1018,6 +1018,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "「マイ ネットワーク」を展開"
IDS_ADVANCED_DISPLAY_RUN "「ファイル名を指定して実行」を表示"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "「管理者ツール」を表示"
IDS_ADVANCED_SMALL_START_MENU "小さいアイコンでスタートメニューを表示"
IDS_NEWEXT_ADVANCED_LEFT "<< 高度な設定(&V)"
IDS_NEWEXT_ADVANCED_RIGHT "高度な設定(&V) >>"

View file

@ -1028,6 +1028,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1030,6 +1030,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Rozwiń polecenie Połączenia sieciowe"
IDS_ADVANCED_DISPLAY_RUN "Wyświetl polecenie Uruchom"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Wyświetl polecenie Narzędzia administracyjne"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< &Zaawansowane"
IDS_NEWEXT_ADVANCED_RIGHT "&Zaawansowane >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1020,6 +1020,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< A&vançado"
IDS_NEWEXT_ADVANCED_RIGHT "Avança&do >>"

View file

@ -1029,6 +1029,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< A&vansate"
IDS_NEWEXT_ADVANCED_RIGHT "A&vansate >>"

View file

@ -1030,6 +1030,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Раскрывать ""Сетевые подключения"""
IDS_ADVANCED_DISPLAY_RUN "Отображать команду ""Выполнить"""
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Отображать меню ""Администрирование"""
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< До&полнительно"
IDS_NEWEXT_ADVANCED_RIGHT "До&полнительно >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1028,6 +1028,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< Ad&vanced"
IDS_NEWEXT_ADVANCED_RIGHT "Ad&vanced >>"

View file

@ -1030,6 +1030,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< G&elişmiş"
IDS_NEWEXT_ADVANCED_RIGHT "Ge&lişmiş >>"

View file

@ -1021,6 +1021,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< &Додатково"
IDS_NEWEXT_ADVANCED_RIGHT "&Додатково >>"

View file

@ -1031,6 +1031,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< 高级(&V)"
IDS_NEWEXT_ADVANCED_RIGHT "高级(&V) >>"

View file

@ -1029,6 +1029,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< 進階(&V)"
IDS_NEWEXT_ADVANCED_RIGHT "進階(&V) >>"

View file

@ -1030,6 +1030,7 @@ BEGIN
IDS_ADVANCED_EXPAND_NET_CONNECTIONS "Expand Network Connections"
IDS_ADVANCED_DISPLAY_RUN "Display Run"
IDS_ADVANCED_DISPLAY_ADMINTOOLS "Display Administrative Tools"
IDS_ADVANCED_SMALL_START_MENU "Show Small Icons in Start menu"
IDS_NEWEXT_ADVANCED_LEFT "<< 進階(&V)"
IDS_NEWEXT_ADVANCED_RIGHT "進階(&V) >>"

View file

@ -551,6 +551,9 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::GetIconSize(THIS_ DWORD* piIcon)
HRESULT STDMETHODCALLTYPE CMenuDeskBar::SetBitmap(THIS_ HBITMAP hBitmap)
{
if (m_Banner && m_Banner != hBitmap)
::DeleteObject(m_Banner);
m_Banner = hBitmap;
BOOL bHandled;
@ -682,7 +685,7 @@ LRESULT CMenuDeskBar::_OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHa
GetClientRect(&rc);
if (m_Banner != NULL)
if (m_Banner && m_IconSize != BMICON_SMALL)
{
BITMAP bm;
::GetObject(m_Banner, sizeof(bm), &bm);

View file

@ -316,6 +316,7 @@
#define IDS_ADVANCED_EXPAND_NET_CONNECTIONS 30473
#define IDS_ADVANCED_DISPLAY_RUN 30474
#define IDS_ADVANCED_DISPLAY_ADMINTOOLS 30476
#define IDS_ADVANCED_SMALL_START_MENU 30477
#define IDS_NEWEXT_ADVANCED_LEFT 30515
#define IDS_NEWEXT_ADVANCED_RIGHT 30516