#include "wx/brush.h"
#include "wx/font.h"
#include "wx/dc.h"
+#include "wx/dcscreen.h"
#include "wx/utils.h"
#include "wx/scrolwin.h"
#endif
m_nSelected = 0;
} // end of wxListBox::wxListBox
+bool wxListBox::Create(
+ wxWindow* pParent
+, wxWindowID vId
+, const wxPoint& rPos
+, const wxSize& rSize
+, const wxArrayString& asChoices
+, long lStyle
+, const wxValidator& rValidator
+, const wxString& rsName
+)
+{
+ wxCArrayString chs(asChoices);
+
+ return Create(pParent, vId, rPos, rSize, chs.GetCount(), chs.GetStrings(),
+ lStyle, rValidator, rsName);
+}
+
bool wxListBox::Create(
wxWindow* pParent
, wxWindowID vId
, int n
, const wxString asChoices[]
, long lStyle
-#if wxUSE_VALIDATORS
, const wxValidator& rValidator
-#endif
, const wxString& rsName
)
{
if (m_windowStyle & wxLB_OWNERDRAW)
{
wxOwnerDrawn* pNewItem = CreateItem(nIndex); // dummy argument
+ wxScreenDC vDc;
+ wxCoord vHeight;
+
pNewItem->SetName(rsItem);
m_aItems.Insert(pNewItem, nIndex);
//
#define OWNER_DRAWN_LISTBOX_EXTRA_SPACE (1)
-bool wxListBox::OS2OnMeasure(
+long wxListBox::OS2OnMeasure(
WXMEASUREITEMSTRUCT* pItem
)
{
vDc.SetFont(GetFont());
wxCoord vHeight;
+ wxCoord vWidth;
+
+ GetSize( &vWidth
+ ,NULL
+ );
- pMeasureStruct->rclItem.xRight = 0;
+ pMeasureStruct->rclItem.xRight = (USHORT)vWidth;
pMeasureStruct->rclItem.xLeft = 0;
pMeasureStruct->rclItem.yTop = 0;
pMeasureStruct->rclItem.yBottom = 0;
vHeight = vDc.GetCharHeight() * 2.5;
- pMeasureStruct->rclItem.yTop = vHeight;
+ pMeasureStruct->rclItem.yTop = (USHORT)vHeight;
- ::WinSendMsg( GetHWND()
- ,LM_SETITEMHEIGHT
- ,MPFROMLONG(vHeight)
- ,MPFROMLONG(pMeasureStruct->idItem)
- );
- return TRUE;
+ return long(MRFROM2SHORT((USHORT)vHeight, (USHORT)vWidth));
} // end of wxListBox::OS2OnMeasure
bool wxListBox::OS2OnDraw (