int CAddressBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CPanel::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您專用的創建代碼
if (!m_imgTool.IsNull()) return 0;
m_imgTool.LoadFromResource( AfxGetInstanceHandle(), IDB_TOOLBAR );
if( m_btnGo.m_hWnd ) return 0;
if( m_addressComboBox.m_hWnd ) return 0;
CRect rcClient;
GetClientRect( rcClient );
m_addressComboBox.Create( WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN | CBS_HASSTRINGS | CBS_OWNERDRAWVARIABLE,
CRect( 5, 5, rcClient.Width()-22, 200 ), this, 10001 );
m_btnGo.Create( NULL, _T(""), WS_CHILD | WS_VISIBLE, CRect( rcClient.Width()-22, 11, rcClient.Width(), 39 ), this, 10002 );
m_btnGo.SetImage( IDB_COMBOBOX_GO );
return 0;
}
就是這段代碼,到底是哪的問題?求大神幫幫忙
m_addressComboBox.Create( WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN | CBS_HASSTRINGS | CBS_OWNERDRAWVARIABLE,
CRect( 5, 5, rcClient.Width()-22, 200 ), this, 10001 );
uj5u.com熱心網友回復:
CBS_OWNERDRAWVARIABLE, 必須有// Derived class is responsible for implementing these handlers
// for owner/self draw controls (except for the optional DeleteItem)
void CComboBox::DrawItem(LPDRAWITEMSTRUCT)
{ ASSERT(FALSE); }
void CComboBox::MeasureItem(LPMEASUREITEMSTRUCT)
{ ASSERT(FALSE); }
int CComboBox::CompareItem(LPCOMPAREITEMSTRUCT)
{ ASSERT(FALSE); return 0; }
uj5u.com熱心網友回復:
這個我添加上去了呀
uj5u.com熱心網友回復:
You construct a CComboBox object in two steps. First call the constructor, then call Create, which creates the Windows combo box and attaches it to the CComboBox object.uj5u.com熱心網友回復:
我把代碼給朋友 他在他電腦上用VS2012編譯運行后COMBOBOX是創建成功的! 我用的VS2008 這到底是為什么???誰能告訴我下!!!!!uj5u.com熱心網友回復:
出錯時"重試"看停哪里uj5u.com熱心網友回復:
在VS 2008除錯下,掛在哪了uj5u.com熱心網友回復:
是否呼叫初始化uj5u.com熱心網友回復:
你為嘛要有這個CBS_OWNERDRAWVARIABLE? 自繪的?uj5u.com熱心網友回復:
選擇自繪屬性,要多載DrawItem()函式uj5u.com熱心網友回復:
樓主解決沒有,望分享!uj5u.com熱心網友回復:
新建工程編譯通過,在原來的工程里編譯除錯都通過,但運行不了,遇到同樣的問題轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/60990.html
標籤:基礎類
上一篇:在OnPaint函式中寫的畫圖,但是線沒有畫出來,除錯時,確認該段程式運行了
下一篇:labview
