Author: dquintana
Date: Tue Feb 18 11:17:37 2014
New Revision: 62242
URL:
http://svn.reactos.org/svn/reactos?rev=62242&view=rev
Log:
[RSHELL]
* CMenuBand: Fix display of icons for the static toolbar.
* CMenuDeskBar: Fix positioning of the window not to cross the top edge.
CORE-7881
Modified:
branches/shell-experiments/base/shell/rshell/CMenuBand.cpp
branches/shell-experiments/base/shell/rshell/CMenuDeskBar.cpp
Modified: branches/shell-experiments/base/shell/rshell/CMenuBand.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rs…
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CMenuBand.cpp [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/rshell/CMenuBand.cpp [iso-8859-1] Tue Feb 18
11:17:37 2014
@@ -1130,7 +1130,8 @@
tbb.iString = (INT_PTR) MenuString;
tbb.idCommand = info.wID;
- SMINFO sminfo;
+ SMINFO sminfo = { 0 };
+ sminfo.dwMask = SMIM_ICON;
if (info.wID >= 0 &&
SUCCEEDED(m_menuBand->CallCBWithId(info.wID, SMC_GETINFO, 0, (LPARAM) &sminfo)))
{
tbb.iBitmap = sminfo.iIcon;
Modified: branches/shell-experiments/base/shell/rshell/CMenuDeskBar.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rs…
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CMenuDeskBar.cpp [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/rshell/CMenuDeskBar.cpp [iso-8859-1] Tue Feb 18
11:17:37 2014
@@ -134,7 +134,6 @@
MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
MESSAGE_HANDLER(WM_CANCELMODE, OnCancelMode)
MESSAGE_HANDLER(WM_WINDOWPOSCHANGED, OnWindowPosChanged)
- MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
END_MSG_MAP()
@@ -143,7 +142,6 @@
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
LRESULT OnCancelMode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
LRESULT OnWindowPosChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL
&bHandled);
- LRESULT OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
#endif
@@ -667,16 +665,6 @@
return 0;
}
-LRESULT CMenuDeskBar::OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL
&bHandled)
-{
- if (LOWORD(wParam) == WA_INACTIVE)
- {
- //DestroyWindow();
- //ShowWindow(SW_HIDE);
- }
- return 0;
-}
-
LRESULT CMenuDeskBar::OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL
&bHandled)
{
TRACE("OnPaint\n");
@@ -771,6 +759,13 @@
int cx = rc.right;
int cy = rc.bottom;
+ if (y < 0)
+ {
+ y = 0;
+ }
+
+ // if (y+cy > work area height) cy = work area height - y
+
this->SetWindowPos(HWND_TOPMOST, x, y, cx, cy, SWP_SHOWWINDOW);
// HACK: The bar needs to be notified of the size AFTER it is shown.