我有一个旧项目,需要在视图中添加多行文本框。
我首先只是想在我的视图类的onDraw函数中创建一个文本框,以在屏幕上放置一个文本框。文本框的矩形一直闪烁。我无法选择它或做任何事情。
view类是CView固有的。该信息。我从研究中得出的结论是CEdit通常添加到对话框类中,但是我仍然可以将其添加到任何视图中。
CRect rect(100, 100, 300, 200);
CEdit test;
test.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | ES_MULTILINE | WS_VSCROLL, \
rect, this, 1);
这是我的新手,在进入所有句柄和消息传递之前,我只想简单地创建一个文本框并在其中输入一些文本即可。
谢谢您的帮助。
答案 0 :(得分:1)
您可能不想在OnDraw中创建编辑控件。实际上,除非您的视图包含其他需要绘制的内容,否则可能根本不需要处理OnDraw。
当您拥有一个托管控件的视图时,通常希望在视图的OnCreate中创建该控件,因此它是在创建视图自己的窗口(将成为控件的父窗口)之后但在显示视图窗口之前创建的(因此可以同时显示该控件。)
在这种情况下,视图可能根本不需要处理绘图。它可能需要处理: