24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1726  |  回复: 18

swustxxl

金虫 (正式写手)

[交流] 【求助】VC++.NET编程,MFC基于对话框应用程序编写已有8人参与

小弟想用VC++.NET编写一个基于对话框的应用程序
求一本详细讲解这一部分的教材,或程序实例集。

现在网上以及教材上很多都是条条框框讲基于单文档、多文档的MFC编程,基于对话框的内容一笔带过,殊不知开发实用小程序的就是基于对话框这一部分,还有就是大侃特刊基本原理,根本不实用,不吃程序员这碗饭的人拿着毫无用处,十分怀疑作者本人搞懂没有,是不是到处抄来的。

详细说明一下本人的要求:
按钮控件使用说明,如点击按钮后弹出文件打开对话框。。。。。基本的事件、函数添加,使用技巧规则,常用事件函数使用等
如何导入表格数据等,(很多静态文本控件拼接,但数据怎么导进入)
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★
nono2009(金币+2):多谢建议。 2010-07-27 08:08:49
swustxxl(金币+12):很专业~~~不知可否交个朋友,平时空了指导指导,加QQ:446099868 2010-07-27 09:57:35
MFC的主要贡献,在于用DocTemplate来管理MainFrame/ChildFrame,Document和View以及相应的Resources。有时简称为Doc-View,帮助程序员把数据和用户界面分离开。具体的实现方式有SDI、MDI等。

Dialog-based程序,并不符合那种Doc-View的构造。因此,只能有所借鉴。
从编程难度来说,Dialog-based要比SDI、MDI困难,需要更好的技巧。

例如,在Doc-View结构中,数据作为Doc的成员,View作为显示数据的界面。
Doc有什么变化,来个UpdateAllViews;
View(或者Dialog)接收到用户或者其他输入,影响了Doc,那就通过GetDocument(或者UpdateData)来操作,等等。

可是,Dialog-based的时候,数据放在哪?
如果作为Dialog的成员,往往程序有一系列Dialog,随着用户使用,不断创建、销毁。
所以,更多的情况,是作为WinApp的成员。

至于消息映射、数据更新(DDT/DDX)等,倒是没什么特殊的。

还有,打印问题。SDI/MDI时,打印的是View,而Dialog-based,打印要自己来弄,搞不好,就会出错(Dialog的坐标与View的MapMode不同)。

小结:

没有SDI/MDI的成熟技巧和经验,暂时不要动Dialog-based。

------------------------
Turbo C 1.0到Borland C++ 2.0、MSC 7.0、Visual C++ 1.0, 1.5, 2.0...4.0, 6.0....2005、2008直到现在的2010,都是老汉手边的Windows编程工具。
2楼2010-07-27 03:02:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009(金币-1):专业区请勿纯表。谢谢! 2010-07-27 09:21:14
引用回帖:
Originally posted by swustxxl at 2010-07-26 22:43:12:
小弟想用VC++.NET编写一个基于对话框的应用程序
求一本详细讲解这一部分的教材,或程序实例集。

现在网上以及教材上很多都是条条框框讲基于单文档、多文档的MFC编程,基于对话框的内容一笔带过,殊不知开发实 ...

3楼2010-07-27 09:05:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

★ ★
swustxxl(金币+3): 2010-07-27 09:57:50
余泽成(金币+2):多些建议! 2010-07-27 16:15:39
补充楼上的,SDI/MDI搞熟了,做Dialog也就很容易了。

ps:楼主浮躁了,找本书慢慢看吧。
基本的事件、函数添加,使用技巧规则,常用事件函数使用等 这些东西都是最基础的,没有SDI/MDI和Dialog的区别,关键是要熟悉了MFC框架。
pps:点击按钮后弹出文件打开对话框,可以创建一个CFileDialog类,然后调用DoModal(),也可以直接用API,GetSaveFileName。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
4楼2010-07-27 09:38:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

swustxxl

金虫 (正式写手)

引用回帖:
Originally posted by magic7004 at 2010-07-27 09:38:18:
补充楼上的,SDI/MDI搞熟了,做Dialog也就很容易了。

ps:楼主浮躁了,找本书慢慢看吧。
基本的事件、函数添加,使用技巧规则,常用事件函数使用等 这些东西都是最基础的,没有SDI/MDI和Dialog的区别,关键是 ...

莫办法的事呀,导师赶鸭子上架,先学VC++6.0打基础对学VC++.NET有没有帮助?或者直接就学VC++.net?我找过VC++的孙鑫的教材很全,网上有没有.net视频教程?我找了很久,泛泛的教材太多了,和我的工作没关系的内容太多,对话框的内容太少,能否推荐下,谢谢!
5楼2010-07-27 10:06:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+2):鼓励应助。 2010-07-27 15:59:55
既然是.net,楼主用C#或者vb.net吧,比VC上手快。

ps:.net的话首选是C#,因为这个是MS专门为.net开发的语言。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
6楼2010-07-27 10:26:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢应助! 2010-07-27 16:16:02
俺估计LZ的活儿,VC++ 6.0足够了,根本用不着C#和.Net
7楼2010-07-27 13:22:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by yalefield at 2010-07-27 13:22:06:
俺估计LZ的活儿,VC++ 6.0足够了,根本用不着C#和.Net

貌似没有VC6不够用才用.net的说法吧。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
8楼2010-07-27 15:58:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

swustxxl

金虫 (正式写手)

引用回帖:
Originally posted by magic7004 at 2010-07-27 10:26:23:
既然是.net,楼主用C#或者vb.net吧,比VC上手快。

ps:.net的话首选是C#,因为这个是MS专门为.net开发的语言。

我做的这个程序以后还要不断升级,目前是基础工作,要为以后留下升级的空间,这个程序会做一些数据处理,甚至是三维绘图,就是要衔接OPENGL,我查过网上,VC++.NET相关的比较多,VB语言在数据处理性能方面不如VC系列,VC#我也没有找到较多的相关内容
9楼2010-07-27 19:23:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):谢谢参与应助! 2010-07-28 08:28:06
VC++ 6.0接OpenGL没问题啊。

在Linux/Unix下,俺也是C叫OpenGL。

没.net什么事儿咯
10楼2010-07-27 21:47:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 swustxxl 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见