vs2005 WTL点击ComboBox的下拉框那个黑三角形,那个下拉矩形框就是没弹得出来
偶在测试过,新建新项目,把下面ComboBox代码复制过程序,都能弹出下拉框,弄了两天,都找不到原因,
偶的程序可能有问题了...// fortuneView.h : interface of the CFortuneView class
//
/////////////////////////////////////////////////////////////////////////////#pragma onceclass CFortuneView : public CWindowImpl<CFortuneView>
{
public:
DECLARE_WND_CLASS(NULL)
//DECLARE_FRAME_WND_CLASS(NULL, 0) BOOL PreTranslateMessage(MSG* pMsg); BEGIN_MSG_MAP(CFortuneView)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/){ CRect rc1(10,10,100,30);
m_cb.Create(m_hWnd, rc1, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWN | CBS_AUTOHSCROLL); //WS_CLIPSIBLINGS | WS_CLIPCHILDREN
m_cb.SetFont(AtlGetDefaultGuiFont()); m_cb.AddString(_T("ComboBox1"));
m_cb.AddString(_T("ComboBox2"));
m_cb.AddString(_T("ComboBox3"));
m_cb.AddString(_T("ComboBox4"));
m_cb.AddString(_T("ComboBox5"));
m_cb.AddString(_T("ComboBox6"));
m_cb.AddString(_T("ComboBox7"));
m_cb.AddString(_T("ComboBox8"));
m_cb.AddString(_T("ComboBox9"));
m_cb.AddString(_T("ComboBox0")); return 0;
} LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);private:
CComboBox m_cb;
};
偶在测试过,新建新项目,把下面ComboBox代码复制过程序,都能弹出下拉框,弄了两天,都找不到原因,
偶的程序可能有问题了...// fortuneView.h : interface of the CFortuneView class
//
/////////////////////////////////////////////////////////////////////////////#pragma onceclass CFortuneView : public CWindowImpl<CFortuneView>
{
public:
DECLARE_WND_CLASS(NULL)
//DECLARE_FRAME_WND_CLASS(NULL, 0) BOOL PreTranslateMessage(MSG* pMsg); BEGIN_MSG_MAP(CFortuneView)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/){ CRect rc1(10,10,100,30);
m_cb.Create(m_hWnd, rc1, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWN | CBS_AUTOHSCROLL); //WS_CLIPSIBLINGS | WS_CLIPCHILDREN
m_cb.SetFont(AtlGetDefaultGuiFont()); m_cb.AddString(_T("ComboBox1"));
m_cb.AddString(_T("ComboBox2"));
m_cb.AddString(_T("ComboBox3"));
m_cb.AddString(_T("ComboBox4"));
m_cb.AddString(_T("ComboBox5"));
m_cb.AddString(_T("ComboBox6"));
m_cb.AddString(_T("ComboBox7"));
m_cb.AddString(_T("ComboBox8"));
m_cb.AddString(_T("ComboBox9"));
m_cb.AddString(_T("ComboBox0")); return 0;
} LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);private:
CComboBox m_cb;
};
偶还以为那个rc1只是ComboBox的框框的大小,没想到也要把那个下框的BOX算进去啊...
谢谢了...