void wxChoice::SetString(unsigned int n, const wxString& rsStr) { LONG nIndexType = 0; void* pData; if ( HasClientData() ) { pData = DoGetItemClientData(n); } else // no client data { pData = NULL; } ::WinSendMsg(GetHwnd(), LM_DELETEITEM, (MPARAM)n, 0); if (m_windowStyle & wxCB_SORT) nIndexType = LIT_SORTASCENDING; else nIndexType = LIT_END; ::WinSendMsg( GetHwnd() ,LM_INSERTITEM ,(MPARAM)nIndexType ,(MPARAM)rsStr.wx_str() ); if (pData) { DoSetItemClientData(n, pData); } } // end of wxChoice::SetString
void wxItemContainer::SetClientData(unsigned int n, void *data) { if ( !HasClientData() ) { DoInitItemClientData(); SetClientDataType(wxClientData_Void); } wxASSERT_MSG( HasClientUntypedData(), wxT("can't have both object and void client data") ); DoSetItemClientData(n, data); }
void wxItemContainer::SetClientData(unsigned int n, void *data) { if ( !HasClientData() ) { DoInitItemClientData(); SetClientDataType(wxClientData_Void); } wxASSERT_MSG( HasClientUntypedData(), wxT("can't have both object and void client data") ); wxCHECK_RET( IsValid(n), "Invalid index passed to SetClientData()" ); DoSetItemClientData(n, data); }