);
SubclassWin(m_hWnd);
- wxFont* pTextFont = new wxFont( 10
- ,wxMODERN
- ,wxNORMAL
- ,wxNORMAL
- );
- wxControl::SetFont(*pTextFont);
+ SetFont(*wxSMALL_FONT);
+ SetXComp(0);
+ SetYComp(0);
SetSize( nX
,nY
,nWidth
,nHeight
);
- delete pTextFont;
return TRUE;
} // end of wxStaticText::Create
int nHeightLineDefault = 0;
int nHeightLine = 0;
wxString sCurLine;
+ bool bLastWasAmpersand = FALSE;
for (const wxChar *pc = sText; ; pc++)
{
}
else
{
+ //
+ // We shouldn't take into account the '&' which just introduces the
+ // mnemonic characters and so are not shown on the screen -- except
+ // when it is preceded by another '&' in which case it stands for a
+ // literal ampersand
+ //
+ if (*pc == _T('&'))
+ {
+ if (!bLastWasAmpersand)
+ {
+ bLastWasAmpersand = TRUE;
+
+ //
+ // Skip the statement adding pc to curLine below
+ //
+ continue;
+ }
+
+ //
+ // It is a literal ampersand
+ //
+ bLastWasAmpersand = FALSE;
+ }
sCurLine += *pc;
}
}
//
if (!(GetWindowStyle() & wxST_NO_AUTORESIZE))
{
- DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
+ wxCoord vX;
+ wxCoord vY;
+ wxCoord vWidth;
+ wxCoord vHeight;
+
+ GetPosition(&vX, &vY);
+ GetSize(&vWidth, &vHeight);
+ if (!(vX == -1 && vY == -1 && vWidth == -1 && vHeight == -1))
+ DoSetSize(vX, vY, vWidth, vHeight, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
+ else
+ DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
}
- DoSetSize(-1, -1, -1, -1, wxSIZE_AUTO_WIDTH | wxSIZE_AUTO_HEIGHT);
} // end of wxStaticText::SetLabel
MRESULT wxStaticText::OS2WindowProc(