mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 17:06:29 +00:00
[RSHELL]
* CMenuBand: Fix display of icons for the static toolbar. * CMenuDeskBar: Fix positioning of the window not to cross the top edge. CORE-7881 svn path=/branches/shell-experiments/; revision=62242
This commit is contained in:
parent
662d8363c3
commit
edfdf34624
|
@ -1130,7 +1130,8 @@ HRESULT CMenuStaticToolbar::FillToolbar()
|
||||||
tbb.iString = (INT_PTR) MenuString;
|
tbb.iString = (INT_PTR) MenuString;
|
||||||
tbb.idCommand = info.wID;
|
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)))
|
if (info.wID >= 0 && SUCCEEDED(m_menuBand->CallCBWithId(info.wID, SMC_GETINFO, 0, (LPARAM) &sminfo)))
|
||||||
{
|
{
|
||||||
tbb.iBitmap = sminfo.iIcon;
|
tbb.iBitmap = sminfo.iIcon;
|
||||||
|
|
|
@ -134,7 +134,6 @@ public:
|
||||||
MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
|
MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
|
||||||
MESSAGE_HANDLER(WM_CANCELMODE, OnCancelMode)
|
MESSAGE_HANDLER(WM_CANCELMODE, OnCancelMode)
|
||||||
MESSAGE_HANDLER(WM_WINDOWPOSCHANGED, OnWindowPosChanged)
|
MESSAGE_HANDLER(WM_WINDOWPOSCHANGED, OnWindowPosChanged)
|
||||||
MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)
|
|
||||||
MESSAGE_HANDLER(WM_PAINT, OnPaint)
|
MESSAGE_HANDLER(WM_PAINT, OnPaint)
|
||||||
END_MSG_MAP()
|
END_MSG_MAP()
|
||||||
|
|
||||||
|
@ -143,7 +142,6 @@ public:
|
||||||
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
||||||
LRESULT OnCancelMode(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 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);
|
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -667,16 +665,6 @@ LRESULT CMenuDeskBar::OnWindowPosChanged(UINT uMsg, WPARAM wParam, LPARAM lParam
|
||||||
return 0;
|
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)
|
LRESULT CMenuDeskBar::OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
|
||||||
{
|
{
|
||||||
TRACE("OnPaint\n");
|
TRACE("OnPaint\n");
|
||||||
|
@ -771,6 +759,13 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::Popup(POINTL *ppt, RECTL *prcExclude, MP
|
||||||
int cx = rc.right;
|
int cx = rc.right;
|
||||||
int cy = rc.bottom;
|
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);
|
this->SetWindowPos(HWND_TOPMOST, x, y, cx, cy, SWP_SHOWWINDOW);
|
||||||
|
|
||||||
// HACK: The bar needs to be notified of the size AFTER it is shown.
|
// HACK: The bar needs to be notified of the size AFTER it is shown.
|
||||||
|
|
Loading…
Reference in a new issue