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

@@ -256,15 +256,15 @@ void wxListBox::Delete(int N)
wxCHECK_RET( N >= 0 && N < m_noItems,
wxT("invalid index in wxListBox::Delete") );
#if wxUSE_OWNER_DRAWN
delete m_aItems[N];
m_aItems.Remove(N);
#else // !wxUSE_OWNER_DRAWN
if ( HasClientObjectData() )
{
delete GetClientObject(N);
}
#endif // wxUSE_OWNER_DRAWN/!wxUSE_OWNER_DRAWN
// for owner drawn objects, the data is used for storing wxOwnerDrawn
// pointers and we shouldn't touch it
#if !wxUSE_OWNER_DRAWN
if ( !(m_windowStyle & wxLB_OWNERDRAW) )
#endif // !wxUSE_OWNER_DRAWN
if ( HasClientObjectData() )
{
delete GetClientObject(N);
}
SendMessage(GetHwnd(), LB_DELETESTRING, N, 0);
m_noItems--;
@@ -747,13 +747,19 @@ bool wxListBox::MSWOnMeasure(WXMEASUREITEMSTRUCT *item)
MEASUREITEMSTRUCT *pStruct = (MEASUREITEMSTRUCT *)item;
HDC hdc = CreateIC(wxT("DISPLAY"), NULL, NULL, 0);
wxDC dc;
dc.SetHDC((WXHDC)CreateIC(wxT("DISPLAY"), NULL, NULL, 0));
dc.SetHDC((WXHDC)hdc);
dc.SetFont(wxSystemSettings::GetSystemFont(wxSYS_ANSI_VAR_FONT));
pStruct->itemHeight = dc.GetCharHeight() + 2*OWNER_DRAWN_LISTBOX_EXTRA_SPACE;
pStruct->itemWidth = dc.GetCharWidth();
dc.SetHDC(0);
DeleteDC(hdc);
return TRUE;
}