Use PBM_SETMARQUEE to implement indeterminate mode in wxMSW wxGauge.

The old code which simply used PBM_SETPOS after setting PBS_MARQUEE style
often worked but sometimes apparently didn't, so switch to the officially
sanctioned PBM_SETMARQUEE to implement this.

Also make wxGauge::SetDeterminateMode() and SetIndeterminateMode() methods
private as they are not part of the public class API.

Closes #11357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-06-20 17:43:02 +00:00
parent f074df3446
commit aaaa607018
3 changed files with 41 additions and 29 deletions

View File

@@ -51,10 +51,7 @@ public:
virtual bool SetForegroundColour(const wxColour& col);
virtual bool SetBackgroundColour(const wxColour& col);
void SetIndeterminateMode();
void SetDeterminateMode();
void Pulse();
virtual void Pulse();
WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
@@ -64,6 +61,15 @@ public:
protected:
virtual wxSize DoGetBestSize() const;
private:
// returns true if the control is currently in indeterminate (a.k.a.
// "marquee") mode
bool IsInIndeterminateMode() const;
// switch to/from indeterminate mode
void SetIndeterminateMode();
void SetDeterminateMode();
DECLARE_DYNAMIC_CLASS_NO_COPY(wxGauge)
};