简单的edit类问题

seu_05104106 2009-08-10 10:52:09
要创建一个edit类,是不是只能这样写createwindow("edit",。。。。。)
这里的edit是不是固定写法,我试了好像其它的不管用啊!
大家sdk创建文本框也用的edit吗?还是?


或者如果自己定义一个类,是不是要自己写edit的窗口处理函数??
...全文
116 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwsn007 2009-08-11
  • 打赏
  • 举报
回复
嫌mfc里的CEdit不好,派生他就是了,可以重写出很强大的控件的。
原来弄过一个从CButton派生的按钮,显示的界面类似于任务管理器里的cpu,内存使用情况的那个图表。
其实用mfc可以了,只要你愿意,没有做不出来的界面
xwsn007 2009-08-11
  • 打赏
  • 举报
回复
楼主强人啊
直接用winapi写程序啊,楼主做啥项目啊,这年头很少用SDK的方式写界面了
chxy85 2009-08-11
  • 打赏
  • 举报
回复
受不了了,createwindow("edit",。。。。。) 中的edit当然不是随便起的,而是系统中已经注册的类名,在这里的是MS给你提供的,还可以是button等等,你要是换个名字在系统中没有注册的类,肯定是不行了。。

显然LZ是一直用MFC的,我也是,不过发现有时候MFC确实比较烦,什么都封装起来了。。。建议LZ新建一个win32应用程序不要MFC的,看看createwindow前都做了些什么东西
seu_05104106 2009-08-11
  • 打赏
  • 举报
回复
我觉得也是,有些拿不准
感觉这个问题应该很普遍来着,没人关注??


[Quote=引用 10 楼 qimiao77 的回复:]
createwindow(全局函数)第一个参数为lpClassName;
lpClassName可以为系统类名,或用RegisterClass注册的类名.
你创建EDIT属于系统类,可直接调用createwindow("EDIT",...);
系统类名对于每种控件它的类名都是固定的.不能更改.

当然你可以使用CEdit的createwindow,那你就不需要参数lpClassName
[/Quote]
贪玩的老鼠 2009-08-11
  • 打赏
  • 举报
回复
createwindow(全局函数)第一个参数为lpClassName;
lpClassName可以为系统类名,或用RegisterClass注册的类名.
你创建EDIT属于系统类,可直接调用createwindow("EDIT",...);
系统类名对于每种控件它的类名都是固定的.不能更改.

当然你可以使用CEdit的createwindow,那你就不需要参数lpClassName
ydyn1988 2009-08-11
  • 打赏
  • 举报
回复
用CRichEditCtrl更方便
zqlong_sunday 2009-08-11
  • 打赏
  • 举报
回复
用CreateWindow来创建的话,第一个参数是自己注册过的类The class name can be any name registered with RegisterClass or RegisterClassEx, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined system class names.

当然你可以这么做:
CEdit edit;
edit.create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd,UNIT nID);
seu_05104106 2009-08-10
  • 打赏
  • 举报
回复
诸位:

那怎么我把"edit"改成"edit2"后,文本框消失了呢?

主要代码是:
CreateWindow("edit2",NULL,WS_VISIBLE|WS_CHILD|WS_BORDER|ES_LEFT|ES_MULTILINE,0,0,0,0,hwnd,NULL,LPCREATESTRUCT(lParam)->hInstance,NULL);

哪位讲一下
shakeyou123 2009-08-10
  • 打赏
  • 举报
回复
那个EDIT事随便起什么名字的
如果自己想重写一个EDIT类,楼主直接继承CEDIT类就可以了,不需要自己写窗口处理函数的
shakeyou123 2009-08-10
  • 打赏
  • 举报
回复
那个EDIT事随便起什么名字的
如果自己想重写一个EDIT类,楼主直接继承CEDIT类就可以了,不需要自己写窗口处理函数的
shakeyou123 2009-08-10
  • 打赏
  • 举报
回复
那个EDIT事随便起什么名字的
如果自己想重写一个EDIT类,楼主直接继承CEDIT类就可以了,不需要自己写窗口处理函数的
rebecca_zjy 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 seu_05104106 的回复:]
要创建一个edit类,是不是只能这样写createwindow("edit",。。。。。)
这里的edit是不是固定写法,我试了好像其它的不管用啊!
大家sdk创建文本框也用的edit吗?还是?


或者如果自己定义一个类,是不是要自己写edit的窗口处理函数??
[/Quote]

1、名字是随便起的,我到现在为止没发现有什么作用
2、你继承CEdit类的话,就不用写窗口处理函数了,只要写事件函数就可以了,不过如果你有特殊要求的话,就需要重载窗口处理函数了
fishion 2009-08-10
  • 打赏
  • 举报
回复
The class name can be any name registered with RegisterClass or RegisterClassEx, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined system class names.
danxuezx 2009-08-10
  • 打赏
  • 举报
回复
那个不是名字吗?名字有规定吗?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧