added support for wxALWAYS_SHOW_SB (finally closes patch 410865 -- first still opened...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2003-07-08 23:14:02 +00:00
parent 35821d8fe0
commit a647d42abc
3 changed files with 23 additions and 16 deletions

View File

@ -140,30 +140,24 @@ wxMSW:
- wxCaret::SetSize() doesn't hide the caret any longer as it used to - wxCaret::SetSize() doesn't hide the caret any longer as it used to
- wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more - wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more
- fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE - fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE
- fixes for compilation with OpenWatcom compiler - fixes for compilation with OpenWatcom and DigitalMars compilers
- fixed wxStaticText best size calculation (was wrong by '&' width) - fixed wxStaticText best size calculation (was wrong by '&' width)
- fixed calling wxFrame::Maximize(FALSE) before the window is shown - fixed calling wxFrame::Maximize(FALSE) before the window is shown
= added wxNotebook::HitTest() (Otto Wyss) - added wxNotebook::HitTest() (Otto Wyss)
- all libraries built with makefile.g95 have a _min or _cyg suffix - libraries built with makefile.g95 have a _min or _cyg suffix (MinGW/Cygwin)
(for MinGW and Cygwin) - when using DLL, wxLocalFSHandler was not being exported
- When using DLL, wxLocalFSHandler was not being exported - added WXEXPORTDLL - fixed problem with wxEvtHandler object not removed from wxPendingEvents
- A wxEvtHandler object was not removed from wxPendingEvents on deletion.
wxPendingEventsLocker was being deleted in App before all wxEvtHandler
objects have been destroyed resulting in stale handler/lock
ptrs; fixed
- Windows XP manifest is now included in wx.rc; it is no longer neccessary - Windows XP manifest is now included in wx.rc; it is no longer neccessary
to ship .exe.manifest file with applications to support XP themes to ship .exe.manifest file with applications to support XP themes
- wxLocale::Init no longer reports error if trying to set Unicode-only locale - wxLocale::Init no longer reports error if trying to set Unicode-only locale
or if user's default locale is Unicode-only or if user's default locale is Unicode-only
- Improved border handling so it no longer shows a thin and - improved border handling under Windows XP
sunken border under XP
- partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME - partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME
enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells
wxWindows to use the theme tab colour for control backgrounds. wxWindows to use the theme tab colour for control backgrounds.
Proper XP theme support is planned for 2.6 - disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles under Windows XP
- disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles
if the version of CommCtl doesn't support it (XP)
- fixed release mode build with VC 7.x (Martin Ecker) - fixed release mode build with VC 7.x (Martin Ecker)
- added support for wxALWAYS_SHOW_SB style
wxMotif: wxMotif:

View File

@ -35,8 +35,6 @@ for this style. }
\twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control. Windows only. } \twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control. Windows only. }
\twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint \twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
events. Windows only.} events. Windows only.}
\twocolitem{\windowstyle{wxNO\_3D}}{Prevents the children of this window taking on 3D styles, even though
the application-wide policy is for 3D controls. Windows only.}
\twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.} \twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.}
\twocolitem{\windowstyle{wxWANTS\_CHARS}}{Use this to indicate that the window \twocolitem{\windowstyle{wxWANTS\_CHARS}}{Use this to indicate that the window
wants to get all char events - even for keys like TAB or ENTER which are wants to get all char events - even for keys like TAB or ENTER which are
@ -48,6 +46,11 @@ new window area manually if you use this style. Currently only has an effect for
Windows.} Windows.}
\twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar.} \twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar.}
\twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar.} \twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar.}
\twocolitem{\windowstyle{wxALWAYS\_SHOW\_SB}{If a window has scrollbars,
disable them instead of hiding them when they are not needed (i.e. when the
size of the window is big enough to not require the scrollbars to navigate it).
This style is currently only implemented for wxMSW and wxUniversal and does
nothing on the other platforms.}
\twocolitem{\windowstyle{wxCLIP\_CHILDREN}}{Use this style to eliminate flicker caused by the background being \twocolitem{\windowstyle{wxCLIP\_CHILDREN}}{Use this style to eliminate flicker caused by the background being
repainted, then children being painted over them. Windows only.} repainted, then children being painted over them. Windows only.}
\end{twocollist} \end{twocollist}

View File

@ -788,6 +788,11 @@ void wxWindowMSW::SetScrollPos(int orient, int pos, bool refresh)
info.nMin = 0; info.nMin = 0;
info.nPos = pos; info.nPos = pos;
info.fMask = SIF_POS; info.fMask = SIF_POS;
if ( HasFlag(wxALWAYS_SHOW_SB) )
{
// disable scrollbar instead of removing it then
info.fMask |= SIF_DISABLENOSCROLL;
}
::SetScrollInfo(hWnd, orient == wxHORIZONTAL ? SB_HORZ : SB_VERT, ::SetScrollInfo(hWnd, orient == wxHORIZONTAL ? SB_HORZ : SB_VERT,
&info, refresh); &info, refresh);
@ -806,6 +811,11 @@ void wxWindowMSW::SetScrollbar(int orient,
info.nMax = range - 1; // as both nMax and nMax are inclusive info.nMax = range - 1; // as both nMax and nMax are inclusive
info.nPos = pos; info.nPos = pos;
info.fMask = SIF_RANGE | SIF_PAGE | SIF_POS; info.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
if ( HasFlag(wxALWAYS_SHOW_SB) )
{
// disable scrollbar instead of removing it then
info.fMask |= SIF_DISABLENOSCROLL;
}
HWND hWnd = GetHwnd(); HWND hWnd = GetHwnd();
if ( hWnd ) if ( hWnd )