mirror of
https://github.com/reactos/reactos.git
synced 2025-02-21 16:04:57 +00:00
[RSHELL]
* Some small fixes to the previous commit. (Clicking still do not work in win2003, though) svn path=/branches/shell-experiments/; revision=62680
This commit is contained in:
parent
97b02b410b
commit
c46d671641
4 changed files with 36 additions and 14 deletions
|
@ -300,37 +300,32 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::Popup(POINTL *ppt, RECTL *prcExclude, MP
|
|||
rc.right += bm.bmWidth;
|
||||
}
|
||||
|
||||
int x, y, cx, cy;
|
||||
|
||||
RECT rcWorkArea;
|
||||
GetWindowRect(GetDesktopWindow(), &rcWorkArea);
|
||||
int waHeight = rcWorkArea.bottom - rcWorkArea.top;
|
||||
|
||||
int x = ppt->x;
|
||||
int y = ppt->y;
|
||||
int cx = rc.right - rc.left;
|
||||
int cy = rc.bottom - rc.top;
|
||||
|
||||
switch (dwFlags & 0xFF000000)
|
||||
{
|
||||
case MPPF_BOTTOM:
|
||||
x = ppt->x;
|
||||
cx = rc.right - rc.left;
|
||||
y = ppt->y - rc.bottom;
|
||||
cy = rc.bottom - rc.top;
|
||||
break;
|
||||
case MPPF_RIGHT:
|
||||
x = ppt->x + rc.left;
|
||||
cx = rc.right - rc.left;
|
||||
y = ppt->y + rc.top;
|
||||
cy = rc.bottom - rc.top;
|
||||
break;
|
||||
case MPPF_TOP | MPPF_ALIGN_LEFT:
|
||||
x = ppt->x - rc.right;
|
||||
cx = rc.right - rc.left;
|
||||
y = ppt->y + rc.top;
|
||||
cy = rc.bottom - rc.top;
|
||||
break;
|
||||
case MPPF_TOP | MPPF_ALIGN_RIGHT:
|
||||
x = ppt->x;
|
||||
cx = rc.right - rc.left;
|
||||
y = ppt->y + rc.top;
|
||||
cy = rc.bottom - rc.top;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -254,11 +254,16 @@ LRESULT CMenuFocusManager::ProcessMouseMove(MSG* msg)
|
|||
POINT pt2 = { GET_X_LPARAM(msg->lParam), GET_Y_LPARAM(msg->lParam) };
|
||||
ClientToScreen(msg->hwnd, &pt2);
|
||||
|
||||
/* Don't do anything if the mouse has not been moved */
|
||||
// Don't do anything if the mouse has not been moved
|
||||
POINT pt = msg->pt;
|
||||
if (pt.x == m_ptPrev.x && pt.y == m_ptPrev.y)
|
||||
return TRUE;
|
||||
|
||||
// Don't do anything if another window is capturing the mouse.
|
||||
HWND cCapture = ::GetCapture();
|
||||
if (cCapture && cCapture != m_captureHwnd)
|
||||
return TRUE;
|
||||
|
||||
m_ptPrev = pt;
|
||||
|
||||
child = WindowFromPoint(pt);
|
||||
|
|
|
@ -602,7 +602,7 @@ HRESULT CMenuToolbarBase::ChangeHotItem(CMenuToolbarBase * toolbar, INT item, DW
|
|||
|
||||
if (m_hotBar == this && toolbar != this)
|
||||
{
|
||||
SendMessage(m_hwndToolbar, TB_SETHOTITEM, -1, 0);
|
||||
SendMessage(m_hwndToolbar, TB_SETHOTITEM, (WPARAM)-1, 0);
|
||||
}
|
||||
|
||||
m_hotBar = toolbar;
|
||||
|
@ -967,7 +967,7 @@ HRESULT CMenuToolbarBase::KeyboardItemChange(DWORD dwSelectType)
|
|||
if (prev != -1)
|
||||
{
|
||||
DbgPrint("Setting Hot item to null\n");
|
||||
SendMessage(m_hwndToolbar, TB_SETHOTITEM, -1, 0);
|
||||
SendMessage(m_hwndToolbar, TB_SETHOTITEM, (WPARAM) -1, 0);
|
||||
}
|
||||
return S_FALSE;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,22 @@
|
|||
|
||||
#ifdef _MSC_VER
|
||||
|
||||
// Disabling spammy warnings when compiling with /W4 or /Wall
|
||||
#pragma warning(disable:4100) // unreferenced formal parameter
|
||||
#pragma warning(disable:4201) // nonstandard extension used
|
||||
#pragma warning(disable:4265) // class has virtual functions, but destructor is not virtual
|
||||
#pragma warning(disable:4365) // signed/unsigned mismatch
|
||||
#pragma warning(disable:4514) // unreferenced inline function
|
||||
#pragma warning(disable:4710) // function was not inlined
|
||||
#pragma warning(disable:4820) // padding added
|
||||
#pragma warning(disable:4946) // reinterpret_cast between related classes
|
||||
|
||||
// Disable some warnings in headers only
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4244) // possible loss of data
|
||||
#pragma warning(disable:4512) // assignment operator could not be gernerated
|
||||
#endif
|
||||
|
||||
#define USE_SYSTEM_MENUDESKBAR 0
|
||||
#define USE_SYSTEM_MENUSITE 0
|
||||
#define USE_SYSTEM_MENUBAND 0
|
||||
|
@ -37,11 +55,15 @@
|
|||
#include <atlcom.h>
|
||||
#include <wine/debug.h>
|
||||
|
||||
#if _MSC_VER
|
||||
// Restore warnings
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#define shell32_hInstance 0
|
||||
#define SMC_EXEC 4
|
||||
extern "C" INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc);
|
||||
|
||||
|
||||
extern "C" HRESULT WINAPI CStartMenu_Constructor(REFIID riid, void **ppv);
|
||||
extern "C" HRESULT WINAPI CMenuDeskBar_Constructor(REFIID riid, LPVOID *ppv);
|
||||
extern "C" HRESULT WINAPI CMenuSite_Constructor(REFIID riid, LPVOID *ppv);
|
||||
|
|
Loading…
Reference in a new issue