Commit Graph

115 Commits

Author SHA1 Message Date
Vadim Zeitlin
ed72e19523 Fix wxMSW wxStaticBox compilation when wxUSE_UXTHEME==0.
Don't compile the theme-using code in PaintForeground().

Closes #14511.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-23 15:04:04 +00:00
Robin Dunn
e9fed11291 Revert r71595 for now, as the bug it fixed is the lesser of two evils with the potential bugs it causes. See #14453.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-08 03:48:55 +00:00
Vadim Zeitlin
18717b27d6 Compilation fix in non-PCH build of wxMSW wxStaticBox.
Include wx/sizer.h now that we use sizers in static box DoGetBestSize().

Closes #14397.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 21:41:53 +00:00
Robin Dunn
d18eb918f4 If there is a sizer then use it's calculated minimum in wxStaticBox::DoGetBestSize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-05 21:26:53 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Robin Dunn
5ad24e6dbb Adjust the client area origin and the client size of the MSW wxStaticBox according to the guidelines on http://msdn.microsoft.com/en-us/library/aa511279.aspx. This is so widgets that are children of the static box will not overlap the label or box borders.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-30 03:13:35 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Vadim Zeitlin
3120eccfe2 Fix confusion with LOGFONT{A,W} parameters to MSW GetTheme[Sys]Font().
Change the signature of GetThemeFont() and GetThemeSysFont() methods of
wxUxThemeEngine to take an artificial wxUxThemeFont::Ptr type instead of
LOGFONT which allows the broken code to compile correctly and even work in
Unicode builds but crashed in ANSI ones under Windows Vista/7 as these
functions expect a LOGFONTW and not LOGFONTA even in non-Unicode build under
these systems.

This generalizes the previous fix/workaround for the same problem in
wxStaticBox so remove it now and use wxUxThemeFont both there and in
wxMenuItem to avoid crashes when using owner-drawn menus in ANSI build.

Closes #12364.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:22 +00:00
Vadim Zeitlin
b4607e897c Correct drawing of mnemonics in wxStaticBox label under wxMSW.
Only show the mnemonics if they need to be shown, i.e. use the same logic as
the standard controls use, to avoid showing mnemonics in wxStaticBox with
custom label colour even when other wxStaticBoxes don't show it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-21 11:44:47 +00:00
Vadim Zeitlin
2af006ebd3 Fix wxStaticBox label redrawing when "Alt" is pressed in wxMSW.
The default handling for Alt key press in the standard control is to redraw
the label to account for showing of the keyboard queues (i.e. if the mnemonics
were initially hidden, they are shown when Alt is pressed) but it doesn't
redraw it in the correct colour resulting in any custom label colour being
lost whenever Alt is pressed anywhere in the window containing the box.

Fix this by forcing the box refresh which will result in repainting it using
our code which does use the correct colour.

Also update the static page of the widgets sample to allow changing the
colours of all static controls on this page, including the wxStaticBox, and
not just the main wxStaticText.

Closes #12497.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-21 11:44:41 +00:00
Vadim Zeitlin
ebfee17940 Simplify and correct MSW selection of background brush for children painting.
Check for the transparency of the window background in MSWGetBgBrush() itself
and let MSWGetBgBrushForChild() just return the brush to be used.

This required adding a MSW-specific hack to wxPanel to allow inheriting
background of wxNotebook by its children which is slightly ugly but is exactly
what we need to do in this case and makes the rest of the code much simpler.

Also add a possibility to set the background of the page containing the
control being tested to the widgets sample to test for background inheritance.
This shows problems with wxSlider and wxRadioBox backgrounds but they're not
new with this patch.

Closes #12057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 12:51:20 +00:00
Vadim Zeitlin
b8797d96ca No real changes, just change type of MSWGetBgBrush() argument.
Pass wxWindow instead of HWND to it as in most cases we already have wxWindow
for the HWND we have and calling wxFindWinFromHandle() once more is
unnecessary.

This also makes the code of MSWGetBgBrushForChild() slightly simpler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-18 20:49:23 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
1d1b48625e don't blit too much when copying static box border in OnPaint()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-27 13:03:02 +00:00
Vadim Zeitlin
74052fe83b added more includes of wx/msw/dc.h needed since r52054 for wxMSW compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-25 02:13:36 +00:00
Robert Roebling
888dde65f4 DC reorganization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 13:48:22 +00:00
Julian Smart
dc797d8e1b More border rationalisation. GetDefaultBorder is now mostly defined in base class files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 12:10:34 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +00:00
Vadim Zeitlin
b8ec69e863 use correct background colour for the box label when foreground colour is set (remaining part of patch 1683573)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 02:28:06 +00:00
Vadim Zeitlin
441dfa1d99 call GetTextExtent() after selecting the correct font into DC in PaintForeground(), fixes label drawing for non default font sizes (part of patch 1683573)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 02:25:25 +00:00
Vadim Zeitlin
95fab76ba0 1. Don't draw our own custom label if we don't have custom foreground colour,
we don't need to do it then as it works just fine by default then

2. Use the theme font for the label (doesn't do anything for the default Luna
   theme but helps a lot with custom themes, unfortunately metrics are still
   wrong with them)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-23 22:20:53 +00:00
Paul Cornett
7212d15556 don't include missing.h before windows headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-10 17:37:02 +00:00
Jamie Gadd
ffabb347f9 Fix label positioning when text is LTR.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-20 12:05:49 +00:00
Vadim Zeitlin
cf072997af fix static box label drawing in RTL locale (patch 1552545)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-10 23:39:37 +00:00
Włodzimierz Skiba
57bd4c6031 Include wx/msw/wrap*.h according to pch support (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-07 19:01:45 +00:00
Vadim Zeitlin
32cd189dfc use GetLabelText() instead of wxStripMenuCodes() to avoid stripping the part of the string after TAB
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 18:47:39 +00:00
Jamie Gadd
24e35cf87b Don't handle WM_PRINTCLIENT anymore, manually draw the static box label background instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-22 17:20:05 +00:00
Włodzimierz Skiba
155ecd4c42 Include wx/image.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-03 19:02:54 +00:00
Włodzimierz Skiba
f38924e863 Include wx/dcmemory.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-08 07:58:37 +00:00
Jamie Gadd
1d6e57680c Fix bug where labels were multicoloured if their length > box width using XP with a non-default colour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-23 13:50:39 +00:00
Julian Smart
9f8130d6b3 Must strip menu codes from labels before measuring (fixes bug 1400552)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 16:16:36 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Julian Smart
cec46079ae Applied patch [ 1292827 ] [wxMSW] nested wxStaticBox fix
Jamie Gadd


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-17 20:27:19 +00:00
Vadim Zeitlin
9705fbe904 moved WM_PRINTCLIENT from wxRadioBox to wxStaticBox to allow using it as parent for other controls (modified patch 1188384)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-22 18:29:14 +00:00
Vadim Zeitlin
72a55896e5 respect label foreground colour for static boxes when using XP themes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-19 00:00:26 +00:00
Robin Dunn
31582e4e11 Patch #1203934: enable best size caching for MSW widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-18 02:23:01 +00:00
Julian Smart
a92e7f3047 WinCE fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-13 11:52:03 +00:00
Julian Smart
5bf4788ae3 Temporary fix (I hope) to allow an application to paint around controls
within static boxes by suspending the flicker reduction fix


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-27 19:21:24 +00:00
Julian Smart
5c17f6d377 Fixed test for button style - styles contain other style bits
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-20 10:34:52 +00:00
Julian Smart
21c6080db7 Regenerated makefiles for runtime lib change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-17 12:58:24 +00:00
Robin Dunn
4249e33407 Don't clip hidden windows from the staticbox's refresh. Also handle
non wxWindows better.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-15 03:00:15 +00:00
Julian Smart
5c2f43f48f Removed unnecessary fix (caused by erroneous user code)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-14 07:26:55 +00:00
Włodzimierz Skiba
72093cd889 WinCE build fix (missing style).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-12 08:13:21 +00:00
Vadim Zeitlin
bcb8ba61c3 fixed MSWGetBgBrush() call, it needs a HWND and not wxWindow * now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 22:12:39 +00:00
Vadim Zeitlin
a83b5b74c3 GetParent() was always used in test for wxHSCROLL checked in in last commit; use the parent window recursively as intended instead; slightly simplified the code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 17:55:52 +00:00
Julian Smart
75a2645e11 Hack to make wxStaticBox be repainted when inside a scrolling window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 17:14:58 +00:00
Vadim Zeitlin
c3732409ac simplifications and corrections to background drawing:
1. removed ApplyParentThemeBackground() not used any longer
2. removed ProvidesBackground() which is synonymous with
   !HasTransparentBackground()
3. removed a whole bunch of unused MSWXXX() methods
4. moved MSWControlColor() from wxWindow up to wxControl

results:

1. the gradient is still shown properly for static/radio boxes in notebooks
2. correct background colour is used for the static boxes
3. code is shorter and better commented


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 15:23:08 +00:00
Vadim Zeitlin
9c2a1d53c0 add extra space for top border when wxDIALOG_UNIT_COMPATIBILITY == 1 too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-05 22:23:50 +00:00
Vadim Zeitlin
f05f427fc1 fixed wxStaticBox::SetBackgroundColour(): this should change background for the label only, not the entire box contents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-05 21:27:35 +00:00
Vadim Zeitlin
8397b2f7a9 we need to leave some space for static box border even if its label is empty
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-05 21:15:25 +00:00