MFC Cedit的问题
vc6.0单文档BOOLCComWorkView::AddLog(){CEdit*edt=newCEdit;returnTRUE;}我在OnDraw中AddLog();怎...
vc6.0单文档
BOOL CComWorkView::AddLog()
{
CEdit* edt = new CEdit;
return TRUE;
}
我在OnDraw中AddLog();
怎么啥也没有呀,我想在窗口上显示一个输入框,弹出式的对话框我会了不想用
高手给我讲下怎么用,只要显示就行了,不用管样式,有可能的话上最精简的代码,感激不尽 展开
BOOL CComWorkView::AddLog()
{
CEdit* edt = new CEdit;
return TRUE;
}
我在OnDraw中AddLog();
怎么啥也没有呀,我想在窗口上显示一个输入框,弹出式的对话框我会了不想用
高手给我讲下怎么用,只要显示就行了,不用管样式,有可能的话上最精简的代码,感激不尽 展开
展开全部
有了CEdit对象,还要Create到某个父窗口中来作为一个子窗口,ShowWindow显示,初学的话最好不要这么麻烦。
另外,太多情况都会引起调有OnDraw,所以最好不要放到这个函数中。
像你这样,放在OnDraw中,只new ,不Delete,生在N多的CEdit,运行一段时间程序就挂了
另外,太多情况都会引起调有OnDraw,所以最好不要放到这个函数中。
像你这样,放在OnDraw中,只new ,不Delete,生在N多的CEdit,运行一段时间程序就挂了
追问
说的有道理,我在MSDN上查了CEdit还是不知怎么Create
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int CComWorkView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
RECT rect;
rect.left = 20;
rect.right=100;
rect.top=20;
rect.bottom=40;
m_Edit.Create(ES_LEFT|ES_AUTOHSCROLL|WS_BORDER|WS_VISIBLE|WS_CHILD|WS_TABSTOP,rect,this,IDC_MYEDIT);
return 0;
}
IDC_MYEDIT是一个宏代表你的编辑框的ID,你可以自己定义成一个和其他资源不冲突的整数
在OnCreate中创建就行,位置自己调
m_Edit定义成你CComWorkView的成员变量就行,以便后面使用
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
RECT rect;
rect.left = 20;
rect.right=100;
rect.top=20;
rect.bottom=40;
m_Edit.Create(ES_LEFT|ES_AUTOHSCROLL|WS_BORDER|WS_VISIBLE|WS_CHILD|WS_TABSTOP,rect,this,IDC_MYEDIT);
return 0;
}
IDC_MYEDIT是一个宏代表你的编辑框的ID,你可以自己定义成一个和其他资源不冲突的整数
在OnCreate中创建就行,位置自己调
m_Edit定义成你CComWorkView的成员变量就行,以便后面使用
追问
m_Edit.Create(ES_LEFT|ES_AUTOHSCROLL|WS_BORDER|WS_VISIBLE|WS_CHILD|WS_TABSTOP,rect,this,IDC_MYEDIT);
这句有问题,不太明白,m_Edit我定义为了CEdit型变量了,IDC_MYEDIT不会创建,我设为了1,运行没有错误,但啥也没显示出来,你说一个宏,我想是个输入框是不是个定值,像是在资源里加个对话框的ID,新手啊,谢谢啦,呆会再加20分
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setvisible();
追问
void SetVisible( BOOL bNewValue );
不知怎么用,CEdit也没这样的方法呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询