X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/debe6624c1e9d4bf3243381153d1e173c849bcd8..02e8b2f9fbdfcd25080c42082d637da257c20094:/src/msw/gaugemsw.cpp diff --git a/src/msw/gaugemsw.cpp b/src/msw/gaugemsw.cpp index be590a4556..1df35a9e9c 100644 --- a/src/msw/gaugemsw.cpp +++ b/src/msw/gaugemsw.cpp @@ -75,7 +75,7 @@ bool wxGaugeMSW::Create(wxWindow *parent, wxWindowID id, if ( !wxGaugeMSWInitialised ) { - if (!gaugeInit((HWND) wxGetInstance())) + if (!gaugeInit((HINSTANCE) wxGetInstance())) wxFatalError("Cannot initalize Gauge library"); wxGaugeMSWInitialised = TRUE; } @@ -85,6 +85,7 @@ bool wxGaugeMSW::Create(wxWindow *parent, wxWindowID id, if (parent) parent->AddChild(this); m_rangeMax = range; + m_gaugePos = 0; SetBackgroundColour(parent->GetDefaultBackgroundColour()) ; SetForegroundColour(parent->GetDefaultForegroundColour()) ; @@ -154,6 +155,8 @@ void wxGaugeMSW::SetSize(int x, int y, int width, int height, int sizeFlags) if (y == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) y1 = currentY; + AdjustForParentClientOrigin(x1, y1, sizeFlags); + // If we're prepared to use the existing size, then... if (width == -1 && height == -1 && ((sizeFlags & wxSIZE_AUTO) != wxSIZE_AUTO)) { @@ -540,13 +543,13 @@ void FAR PASCAL Draw3DLine(HDC hdc, WORD x, WORD y, WORD nLen, else return; /* select NULL_PEN for no borders */ - hOldPen = SelectObject(hdc, GetStockObject(NULL_PEN)); + hOldPen = (HPEN) SelectObject(hdc, GetStockObject(NULL_PEN)); /* select the appropriate color for the fill */ if (fDark) - hOldBrush = SelectObject(hdc, GetStockObject(GRAY_BRUSH)); + hOldBrush = (HBRUSH) SelectObject(hdc, GetStockObject(GRAY_BRUSH)); else - hOldBrush = SelectObject(hdc, GetStockObject(WHITE_BRUSH)); + hOldBrush = (HBRUSH) SelectObject(hdc, GetStockObject(WHITE_BRUSH)); /* finally, draw the dern thing */ Polygon(hdc, (LPPOINT)&Point, 4); @@ -857,7 +860,7 @@ static void PASCAL gaugePaint(HWND hwnd, HDC hdc) GetClientRect(hwnd, &rc1); /* draw a black border on the _outside_ */ - FrameRect(hdc, &rc1, GetStockObject(BLACK_BRUSH)); + FrameRect(hdc, &rc1, (HBRUSH) GetStockObject(BLACK_BRUSH)); /* we want to draw _just inside_ the black border */ InflateRect(&rc1, -1, -1); @@ -878,7 +881,7 @@ static void PASCAL gaugePaint(HWND hwnd, HDC hdc) InflateRect(&rc1, ~(pgauge->wWidth3D), ~(pgauge->wWidth3D)); /* draw a black border on the _inside_ */ - FrameRect(hdc, &rc1, GetStockObject(BLACK_BRUSH)); + FrameRect(hdc, &rc1, (HBRUSH) GetStockObject(BLACK_BRUSH)); /* we want to draw _just inside_ the black border */ InflateRect(&rc1, -1, -1); @@ -925,7 +928,7 @@ static void PASCAL gaugePaint(HWND hwnd, HDC hdc) } /* switch () */ /* select the correct font */ - hFont = SelectObject(hdc, pgauge->hFont); + hFont = (HFONT) SelectObject(hdc, pgauge->hFont); /* build up a string to blit out--ie the meaning of life: "42%" */ wsprintf(ach, "%3d%%", (WORD)((DWORD)iPos * 100 / iRange)); @@ -1148,7 +1151,7 @@ zyzgForceRepaint3D: case WM_SETFONT: /* if NULL hFont, use system font */ if (!(hFont = (HFONT)wParam)) - hFont = GetStockObject(SYSTEM_FONT); + hFont = (HFONT) GetStockObject(SYSTEM_FONT); pgauge->hFont = hFont;