希望在视图上能够画出一个标准的编辑框,但在View的Draw函数里写了如下代码:
CEdit* pEdit = new CEdit;
pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
      CRect(100,100,150,150), this, 1);
为什么出现的编辑框在闪呢?根本不能输入内容,而且程序还关不了,但把这个函数写在OnCreat里就能正常显示编辑框。大家给点指点吧

解决方案 »

  1.   

    Draw是响应重绘的,每次重绘都要在new一次,OnCreate是程序创建后第一个响应的函数。
      

  2.   

    对啊 那为什么我在Draw里面画的是不停的闪呢?
      

  3.   


    只要窗口变化,你的edit对象就在不断的创建,知道程序崩溃。VIew响应的是窗口变化
      

  4.   

    在CView的CView::OnInitialUpdate() 中写创建代码即可。
      

  5.   

    恩 有道理 但是其实我这个是个测试,我是想建了编辑框的类,里面的图形就直接用CEdit的Create来实现的,这样也是在Draw里面重绘,那样怎么实现呢?我想有个编辑框的类。难道要自己写这个类吗?怎么样这个现成的呢?
      

  6.   

    如果是这样的话,需要重载CEdit,实现需要的功能。