Added a fix to taskbar; minor mods to help controllers; added justification
options to wxButton and wxBitmapButton git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -75,12 +75,25 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
|
||||
if ( height == -1 && bitmap.Ok())
|
||||
height = bitmap.GetHeight() + 2*m_marginY;
|
||||
|
||||
long msStyle = WS_VISIBLE | WS_TABSTOP | WS_CHILD | BS_OWNERDRAW ;
|
||||
|
||||
#ifdef __WIN32__
|
||||
if(m_windowStyle & wxBU_LEFT)
|
||||
msStyle |= BS_LEFT;
|
||||
if(m_windowStyle & wxBU_RIGHT)
|
||||
msStyle |= BS_RIGHT;
|
||||
if(m_windowStyle & wxBU_TOP)
|
||||
msStyle |= BS_TOP;
|
||||
if(m_windowStyle & wxBU_BOTTOM)
|
||||
msStyle |= BS_BOTTOM;
|
||||
#endif
|
||||
|
||||
m_hWnd = (WXHWND)CreateWindowEx
|
||||
(
|
||||
0,
|
||||
wxT("BUTTON"),
|
||||
wxT(""),
|
||||
WS_VISIBLE | WS_TABSTOP | WS_CHILD | BS_OWNERDRAW ,
|
||||
msStyle,
|
||||
0, 0, 0, 0,
|
||||
GetWinHwnd(parent),
|
||||
(HMENU)m_windowId,
|
||||
@@ -103,6 +116,9 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
|
||||
m_buttonBitmap = bitmap;
|
||||
}
|
||||
|
||||
// VZ: should be at the very least less than wxDEFAULT_BUTTON_MARGIN
|
||||
#define FOCUS_MARGIN 3
|
||||
|
||||
bool wxBitmapButton::MSWOnDraw(WXDRAWITEMSTRUCT *item)
|
||||
{
|
||||
#if defined(__WIN95__)
|
||||
@@ -144,8 +160,22 @@ bool wxBitmapButton::MSWOnDraw(WXDRAWITEMSTRUCT *item)
|
||||
int height = lpDIS->rcItem.bottom - y;
|
||||
int wBmp = bitmap->GetWidth();
|
||||
int hBmp = bitmap->GetHeight();
|
||||
int x1 = x + (width - wBmp) / 2;
|
||||
int y1 = y + (height - hBmp) / 2;
|
||||
|
||||
int x1,y1;
|
||||
|
||||
if(m_windowStyle & wxBU_LEFT)
|
||||
x1 = x + (FOCUS_MARGIN+1);
|
||||
else if(m_windowStyle & wxBU_RIGHT)
|
||||
x1 = x + (width - wBmp) - (FOCUS_MARGIN+1);
|
||||
else
|
||||
x1 = x + (width - wBmp) / 2;
|
||||
|
||||
if(m_windowStyle & wxBU_TOP)
|
||||
y1 = y + (FOCUS_MARGIN+1);
|
||||
else if(m_windowStyle & wxBU_BOTTOM)
|
||||
y1 = y + (height - hBmp) - (FOCUS_MARGIN+1);
|
||||
else
|
||||
y1 = y + (height - hBmp) / 2;
|
||||
|
||||
if ( isSelected && autoDraw )
|
||||
{
|
||||
@@ -308,9 +338,6 @@ void wxBitmapButton::DrawFace( WXHDC dc, int left, int top, int right, int botto
|
||||
#endif // defined(__WIN95__)
|
||||
|
||||
|
||||
// VZ: should be at the very least less than wxDEFAULT_BUTTON_MARGIN
|
||||
#define FOCUS_MARGIN 3
|
||||
|
||||
void wxBitmapButton::DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel )
|
||||
{
|
||||
RECT rect;
|
||||
|
@@ -74,13 +74,25 @@ bool wxButton::Create(wxWindow *parent,
|
||||
m_backgroundColour = parent->GetBackgroundColour();
|
||||
m_foregroundColour = parent->GetForegroundColour();
|
||||
|
||||
long msStyle = WS_VISIBLE | WS_TABSTOP | WS_CHILD;
|
||||
|
||||
#ifdef __WIN32__
|
||||
if(m_windowStyle & wxBU_LEFT)
|
||||
msStyle |= BS_LEFT;
|
||||
if(m_windowStyle & wxBU_RIGHT)
|
||||
msStyle |= BS_RIGHT;
|
||||
if(m_windowStyle & wxBU_TOP)
|
||||
msStyle |= BS_TOP;
|
||||
if(m_windowStyle & wxBU_BOTTOM)
|
||||
msStyle |= BS_BOTTOM;
|
||||
#endif
|
||||
|
||||
m_hWnd = (WXHWND)CreateWindowEx
|
||||
(
|
||||
MakeExtendedStyle(m_windowStyle),
|
||||
wxT("BUTTON"),
|
||||
label,
|
||||
WS_VISIBLE | WS_TABSTOP | WS_CHILD,
|
||||
msStyle,
|
||||
0, 0, 0, 0,
|
||||
GetWinHwnd(parent),
|
||||
(HMENU)m_windowId,
|
||||
|
@@ -59,7 +59,8 @@ bool wxCHMHelpController::Initialize(const wxString& filename)
|
||||
|
||||
bool wxCHMHelpController::LoadFile(const wxString& file)
|
||||
{
|
||||
m_helpFile = file;
|
||||
if (!file.IsEmpty())
|
||||
m_helpFile = file;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@@ -55,7 +55,8 @@ bool wxWinHelpController::Initialize(const wxString& filename)
|
||||
|
||||
bool wxWinHelpController::LoadFile(const wxString& file)
|
||||
{
|
||||
m_helpFile = file;
|
||||
if (!file.IsEmpty())
|
||||
m_helpFile = file;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@@ -615,7 +615,7 @@ rcparser:
|
||||
nmake -f makefile.vc FINAL=$(FINAL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
cleanall: clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
|
||||
cleanall: clean clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).dll
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
|
||||
|
@@ -182,8 +182,14 @@ bool wxTaskBarIcon::PopupMenu(wxMenu *menu) //, int x, int y);
|
||||
|
||||
menu->UpdateUI();
|
||||
|
||||
// Work around a WIN32 bug
|
||||
::SetForegroundWindow ((HWND) win->GetHWND ());
|
||||
|
||||
rval = win->PopupMenu(menu, 0, 0);
|
||||
|
||||
// Work around a WIN32 bug
|
||||
::PostMessage ((HWND) win->GetHWND(),WM_NULL,0,0L);
|
||||
|
||||
win->PopEventHandler(FALSE);
|
||||
win->Destroy();
|
||||
delete win;
|
||||
|
Reference in New Issue
Block a user