情况是这样的,ATL写的一个组件。没有用到MFC界面用WTL来实现的,现在只实现了一个文本输入框。如果要加入可编辑的下拉列表框该怎么做呢???下面是调用WTL的一个类
class CBandEditCtrl : public CWindowImpl<CBandEditCtrl, CComboBox>,
                      public IDropTarget  {
public:
CBandEditCtrl();
virtual ~CBandEditCtrl();// Operations
public:
    STDMETHOD(TranslateAcceleratorIO)(LPMSG pMsg);    // Support Drag and Drop
STDMETHODIMP QueryInterface(REFIID, VOID**);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);    STDMETHODIMP DragEnter(LPDATAOBJECT, DWORD, POINTL, LPDWORD);
STDMETHODIMP DragOver(DWORD, POINTL, LPDWORD);
STDMETHODIMP DragLeave(void);
STDMETHODIMP Drop(LPDATAOBJECT, DWORD, POINTL, LPDWORD);    DECLARE_WND_SUPERCLASS(NULL, TEXT("EDIT")) BEGIN_MSG_MAP(CBandEditCtrl)
        OCM_COMMAND_CODE_HANDLER(EN_SETFOCUS, OnSetFocus)
        MESSAGE_HANDLER(WM_CHAR, OnChar)
        MESSAGE_HANDLER(WM_KEYUP, OnKeyUp)
END_MSG_MAP() CToolBandObj* m_pBand;
    LPDATAOBJECT m_pIDataObject;protected:
    LRESULT OnSetFocus(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
    LRESULT OnChar(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled);
LRESULT OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);protected:
ULONG m_cRef;
};
要建立可编辑的下拉列表框该怎么做呀??谢谢各位兄弟!!!!!!

解决方案 »

  1.   

    http://www.vckbase.com/document/finddoc.asp?keyword=WTL
    看看有没有什么帮助。
      

  2.   

    see codeproject example:
    www.codeproject.com/atl/ietoolbartutorial.asp
      

  3.   

    to  kingzai(stevenzhu) 
    感谢众兄弟的回复。这位兄弟所说的那个地方的列子也只是一个只有输入框的例子,在下想要的做的是
    下可编辑的下拉列表框
    在atlctrls.h里面倒是有CEdit,CComboBox,CListBox模板,可我不知道该怎么用这些玩意来生成可编辑的下拉列表框。。......
      

  4.   

    可编辑的下拉列表框和编辑框是一样的,你用CComboBox原型,仿造上面的代码写消息映射,然后处理.
      

  5.   

    感谢各位兄弟的支持。
    按 kingzai(stevenzhu) 这个兄弟说的还是不行。
    就像下面
    m_ctlBandEdit.Create(m_hWnd, rc, NULL, WS_CHILD|WS_VISIBLE|CBS_DROPDOWNLIST|CBS_SORT|CBS_HASSTRINGS, WS_EX_CLIENTEDGE,IDC_TOOLBAREDIT);
    m_ctlBandEdit.AddString(_T("ASDF"));//增加项
    m_ctlBandEdit.SetFont((HFONT)GetStockObject( DEFAULT_GUI_FONT ));设置字体
    以前调用的模块
    CWindowImpl<CBandEditCtrl, CEdit>
    现如今换成
    CWindowImpl<CBandEditCtrl, CCmoboBox>
    然后建立.可出来的还是那个文本输入框,郁闷呀~~~~~
      

  6.   

    it is an example using combobox with atl
    http://www.codeproject.com/wtl/wtlautocompletecombo.asp
      

  7.   

    to kingzai(stevenzhu)
    那是在资源里面添加的不行
    如果你有兴趣的话留下你的EMAIL我把程序发给你看看
      

  8.   

    WTL 是什么? 学习一下。