我在vc6.0中用AppWizard创建了一个单文档的程序,然后在__view.cpp里的
OnInitUpdate函数中加了一句:
 HWND hWnd=CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER,60,60,60,20,
AfxGetApp()->m_pMainWnd->m_hWnd,NULL,
                    AfxGetApp()->m_hInstance,NULL);
edit虽然显示,但是不能相应鼠标的事件。
后来加了一句:
     ::EnableWindow(hWnd,TRUE);
还是不行!!
  为什么啊?如何改正?
  谢谢!!!!

解决方案 »

  1.   

    我觉得像你这个问题,并不是说你已经创建了一个Edit,实际上你只是创建了一个Window而已,所以你可以在这个Window中进行一些操作,比如显示字符。如果你想要自已创建一个Edit的话,你必须从CEdit派生出自己的子类,如CMyEdit,然后在_view.h中声明一个CMyEdit对象,然后在OnInitialUpdate()里将其Create出来才行。而在CMyEdit内部就可以响应鼠标消息。你可以先试一试,有问题的话可以再讨论。
      

  2.   

    不同意pizily(pizily) 的观点!!他所描述的,在CEdit中都已经实现了。你的窗口默认是ENABLED的,因为你的父窗口是一般的View,所以你的EDIT不能被编辑。用同样的方法,在DIALOG为父窗口中创建,就能被编辑了。
      

  3.   

    请问你是要在哪儿响应鼠标的事件呢?在View中,在是在Edit中?
      

  4.   

    设定组合框的下拉框的高度
    MoveWindow你的下拉框这个高度就是下拉后事个控件的高度