1. undid my wrong fix to wxWindowBase::Centre

2. corrected fatal bug in wxCheckLstBox (double deletion of items)
3. wxTextCtrl::SetValue() only does it if the new text is different from
   the old one
4. wxBitmap(const wxIcon&) ctor added
5. compilation fixes for VC++ and generic Win32 implementation of
   wxGetCurrentTime() in timercmn.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-11-13 00:30:45 +00:00
parent fd69e87d25
commit 07cf98cb8e
10 changed files with 113 additions and 83 deletions

View File

@@ -140,12 +140,14 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc, const wxRect& rc, wxODAction act, wxODSt
// using native API because it reckognizes '&'
#ifdef O_DRAW_NATIVE_API
int nPrevMode = SetBkMode(hdc, TRANSPARENT);
HBRUSH hbr = CreateSolidBrush(colBack),
hPrevBrush = (HBRUSH) SelectObject(hdc, hbr);
HBRUSH hbr = CreateSolidBrush(colBack),
hPrevBrush = (HBRUSH)SelectObject(hdc, hbr);
RECT rectAll = { rc.GetLeft(), rc.GetTop(), rc.GetRight(), rc.GetBottom() };
FillRect(hdc, &rectAll, hbr);
DeleteObject(hbr);
// use default font if no font set
HFONT hfont;
if ( m_font.Ok() ) {
@@ -186,14 +188,19 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc, const wxRect& rc, wxODAction act, wxODSt
// then draw a check mark into it
RECT rect = { 0, 0, GetMarginWidth(), m_nHeight };
if ( m_nHeight > 0 )
{
#ifndef __SC__
DrawFrameControl(hdcMem, &rect, DFC_MENU, DFCS_MENUCHECK);
DrawFrameControl(hdcMem, &rect, DFC_MENU, DFCS_MENUCHECK);
#endif
}
// finally copy it to screen DC and clean up
BitBlt(hdc, rc.x, rc.y, GetMarginWidth(), m_nHeight,
hdcMem, 0, 0, SRCCOPY);
DeleteDC(hdcMem);
DeleteObject(hbmpCheck);
#else
// #### to do: perhaps using Marlett font (create equiv. font under X)
// wxFAIL("not implemented");