VS2015 MFC怎么做出没有非客户区的界面的对话框程序,并自绘界面、按钮

小小攻城狮丶 2017-09-17 05:35:25
上次看到一篇教怎么做没有非客户区界面的帖子,做出像360卫生这样常见软件的精美界面,可惜被删了。原帖子的意思是模拟出非客户区,这样整个界面任何地方就好自绘了。
菜鸟求教,怎么实现呢?本人MFC水平很差,求详细解答,思路清晰一步一步怎么做,最好手把手的教并有代码和适当的解释,感激不尽!!!
...全文
1004 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
void_main_void 2017-09-22
  • 打赏
  • 举报
回复
引用 29 楼 m0_37160982 的回复:
[quote=引用 26 楼 void_main_void 的回复:] [quote=引用 24 楼 m0_37160982 的回复:] 大牛们好像是推荐我用界面库软件,这样用界面库软件开发界面然后再连接MFC吗?我就是这个意思。。。时间太紧了没法多学新东西,只能有大牛提供现成的东西照着做再慢慢学习慢慢消化。。。
你所说的让我不明不白。。如果你要用界面做产品。说实话是不推荐MFC了。因为楼主自己都说是菜鸟,且对MFC不熟悉。 再者,MFC做非客户群自绘就是个【坑】。MFC对于10几年前来说是非常好的框架,对于现在来说已经完全【不适用】在整下去了。而且网上MFC非客户区自绘内容都是零零散散的内容,没有系统的文章。且我也搞不明白MFC自绘到底要怎么搞。我反正是吃过亏的,我也不想再吃这亏了。 对于现在来说。MFC的框架可以用来【学习】源码框架结构。而不是用来正儿八经的写【非客户区自绘】这种类型的工具。当然【学习】怎么写怎么非客户区那也是可以的。 不知道楼主,还有其他很多界面库非常好。Qt,Duilib,soui。其他的我也不了解也不推荐了。 qt是国外的有齐全的文档英文,duilib是国内的,但是好像不维护了。soui是国内的,正在维护,有群。 反正我实在不推荐MFC干非客户区自绘这种事,干过一次后再也不想干了。当然我MFC也不怎好。一切工具都是用对话框拖按钮弄的。[/quote] 好吧 那就用界面库。楼上有位大牛推荐了,用个做界面的软件弄好界面,然后连接VS6.0,后面对界面的操作如果只是添加控件响应函数的话应该就比较熟悉了 第一次发帖,结帖的时候可以给多个人加分吗。。。[/quote] 节帖多给分就好
void_main_void 2017-09-22
  • 打赏
  • 举报
回复
引用 31 楼 m0_37160982 的回复:
[quote=引用 30 楼 void_main_void 的回复:] [quote=引用 29 楼 m0_37160982 的回复:] [quote=引用 26 楼 void_main_void 的回复:] [quote=引用 24 楼 m0_37160982 的回复:] 大牛们好像是推荐我用界面库软件,这样用界面库软件开发界面然后再连接MFC吗?我就是这个意思。。。时间太紧了没法多学新东西,只能有大牛提供现成的东西照着做再慢慢学习慢慢消化。。。
你所说的让我不明不白。。如果你要用界面做产品。说实话是不推荐MFC了。因为楼主自己都说是菜鸟,且对MFC不熟悉。 再者,MFC做非客户群自绘就是个【坑】。MFC对于10几年前来说是非常好的框架,对于现在来说已经完全【不适用】在整下去了。而且网上MFC非客户区自绘内容都是零零散散的内容,没有系统的文章。且我也搞不明白MFC自绘到底要怎么搞。我反正是吃过亏的,我也不想再吃这亏了。 对于现在来说。MFC的框架可以用来【学习】源码框架结构。而不是用来正儿八经的写【非客户区自绘】这种类型的工具。当然【学习】怎么写怎么非客户区那也是可以的。 不知道楼主,还有其他很多界面库非常好。Qt,Duilib,soui。其他的我也不了解也不推荐了。 qt是国外的有齐全的文档英文,duilib是国内的,但是好像不维护了。soui是国内的,正在维护,有群。 反正我实在不推荐MFC干非客户区自绘这种事,干过一次后再也不想干了。当然我MFC也不怎好。一切工具都是用对话框拖按钮弄的。[/quote] 好吧 那就用界面库。楼上有位大牛推荐了,用个做界面的软件弄好界面,然后连接VS6.0,后面对界面的操作如果只是添加控件响应函数的话应该就比较熟悉了 第一次发帖,结帖的时候可以给多个人加分吗。。。[/quote] 节帖多给分就好[/quote] 最多100分啊 要分3个人,给你50,推荐界面库的大牛40,不知道你满意吗[/quote] 可以可以。
小小攻城狮丶 2017-09-22
  • 打赏
  • 举报
回复
引用 30 楼 void_main_void 的回复:
[quote=引用 29 楼 m0_37160982 的回复:] [quote=引用 26 楼 void_main_void 的回复:] [quote=引用 24 楼 m0_37160982 的回复:] 大牛们好像是推荐我用界面库软件,这样用界面库软件开发界面然后再连接MFC吗?我就是这个意思。。。时间太紧了没法多学新东西,只能有大牛提供现成的东西照着做再慢慢学习慢慢消化。。。
你所说的让我不明不白。。如果你要用界面做产品。说实话是不推荐MFC了。因为楼主自己都说是菜鸟,且对MFC不熟悉。 再者,MFC做非客户群自绘就是个【坑】。MFC对于10几年前来说是非常好的框架,对于现在来说已经完全【不适用】在整下去了。而且网上MFC非客户区自绘内容都是零零散散的内容,没有系统的文章。且我也搞不明白MFC自绘到底要怎么搞。我反正是吃过亏的,我也不想再吃这亏了。 对于现在来说。MFC的框架可以用来【学习】源码框架结构。而不是用来正儿八经的写【非客户区自绘】这种类型的工具。当然【学习】怎么写怎么非客户区那也是可以的。 不知道楼主,还有其他很多界面库非常好。Qt,Duilib,soui。其他的我也不了解也不推荐了。 qt是国外的有齐全的文档英文,duilib是国内的,但是好像不维护了。soui是国内的,正在维护,有群。 反正我实在不推荐MFC干非客户区自绘这种事,干过一次后再也不想干了。当然我MFC也不怎好。一切工具都是用对话框拖按钮弄的。[/quote] 好吧 那就用界面库。楼上有位大牛推荐了,用个做界面的软件弄好界面,然后连接VS6.0,后面对界面的操作如果只是添加控件响应函数的话应该就比较熟悉了 第一次发帖,结帖的时候可以给多个人加分吗。。。[/quote] 节帖多给分就好[/quote] 最多100分啊 要分3个人,给你50,推荐界面库的大牛40,不知道你满意吗
void_main_void 2017-09-21
  • 打赏
  • 举报
回复
哦对了。360和很多大公司都放弃使用MFC界面了。你看到的界面都不是MFC搞出来的。至于为何,除了MFC是在太难搞了之外我也想不出来其他的理由了。
void_main_void 2017-09-21
  • 打赏
  • 举报
回复
引用 24 楼 m0_37160982 的回复:
大牛们好像是推荐我用界面库软件,这样用界面库软件开发界面然后再连接MFC吗?我就是这个意思。。。时间太紧了没法多学新东西,只能有大牛提供现成的东西照着做再慢慢学习慢慢消化。。。
你所说的让我不明不白。。如果你要用界面做产品。说实话是不推荐MFC了。因为楼主自己都说是菜鸟,且对MFC不熟悉。 再者,MFC做非客户群自绘就是个【坑】。MFC对于10几年前来说是非常好的框架,对于现在来说已经完全【不适用】在整下去了。而且网上MFC非客户区自绘内容都是零零散散的内容,没有系统的文章。且我也搞不明白MFC自绘到底要怎么搞。我反正是吃过亏的,我也不想再吃这亏了。 对于现在来说。MFC的框架可以用来【学习】源码框架结构。而不是用来正儿八经的写【非客户区自绘】这种类型的工具。当然【学习】怎么写怎么非客户区那也是可以的。 不知道楼主,还有其他很多界面库非常好。Qt,Duilib,soui。其他的我也不了解也不推荐了。 qt是国外的有齐全的文档英文,duilib是国内的,但是好像不维护了。soui是国内的,正在维护,有群。 反正我实在不推荐MFC干非客户区自绘这种事,干过一次后再也不想干了。当然我MFC也不怎好。一切工具都是用对话框拖按钮弄的。
小小攻城狮丶 2017-09-21
  • 打赏
  • 举报
回复
引用 26 楼 void_main_void 的回复:
[quote=引用 24 楼 m0_37160982 的回复:] 大牛们好像是推荐我用界面库软件,这样用界面库软件开发界面然后再连接MFC吗?我就是这个意思。。。时间太紧了没法多学新东西,只能有大牛提供现成的东西照着做再慢慢学习慢慢消化。。。
你所说的让我不明不白。。如果你要用界面做产品。说实话是不推荐MFC了。因为楼主自己都说是菜鸟,且对MFC不熟悉。 再者,MFC做非客户群自绘就是个【坑】。MFC对于10几年前来说是非常好的框架,对于现在来说已经完全【不适用】在整下去了。而且网上MFC非客户区自绘内容都是零零散散的内容,没有系统的文章。且我也搞不明白MFC自绘到底要怎么搞。我反正是吃过亏的,我也不想再吃这亏了。 对于现在来说。MFC的框架可以用来【学习】源码框架结构。而不是用来正儿八经的写【非客户区自绘】这种类型的工具。当然【学习】怎么写怎么非客户区那也是可以的。 不知道楼主,还有其他很多界面库非常好。Qt,Duilib,soui。其他的我也不了解也不推荐了。 qt是国外的有齐全的文档英文,duilib是国内的,但是好像不维护了。soui是国内的,正在维护,有群。 反正我实在不推荐MFC干非客户区自绘这种事,干过一次后再也不想干了。当然我MFC也不怎好。一切工具都是用对话框拖按钮弄的。[/quote] 好吧 那就用界面库。楼上有位大牛推荐了,用个做界面的软件弄好界面,然后连接VS6.0,后面对界面的操作如果只是添加控件响应函数的话应该就比较熟悉了 第一次发帖,结帖的时候可以给多个人加分吗。。。
小小攻城狮丶 2017-09-21
  • 打赏
  • 举报
回复
引用 25 楼 u013685845 的回复:
引用 25 楼 u013685845 的回复:
调皮
小小攻城狮丶 2017-09-20
  • 打赏
  • 举报
回复
引用 22 楼 void_main_void 的回复:
[quote=引用 21 楼 m0_37160982 的回复:] [quote=引用 19 楼 void_main_void 的回复:] 做360那种界面还是放弃MFC吧。或者去下个BCGControlBar玩玩 今年年初泄漏出来 27.0 现在公司都没有几家用MFC做界面了。 目前来说MFC界面框架可以用来学习,实际要么用dlg拖个小工具就好。
咳咳 那该怎么办呢?我用过VS2015,也只做个几个简单的MFC程序,不创建基于对话框的MFC程序的话,我就一头雾水了。。。是和MFC连接mysql数据库一样下载mysql再连接MFC,下载界面库软件然后和什么连接吗?[/quote] 链接mysql跟MFC没有半毛钱关系。链接MySQL也和界面没有任何关系。。。。。[/quote] 大牛们好像是推荐我用界面库软件,这样用界面库软件开发界面然后再连接MFC吗?我就是这个意思。。。时间太紧了没法多学新东西,只能有大牛提供现成的东西照着做再慢慢学习慢慢消化。。。
小小攻城狮丶 2017-09-20
  • 打赏
  • 举报
回复
引用 22 楼 void_main_void 的回复:
[quote=引用 21 楼 m0_37160982 的回复:] [quote=引用 19 楼 void_main_void 的回复:] 做360那种界面还是放弃MFC吧。或者去下个BCGControlBar玩玩 今年年初泄漏出来 27.0 现在公司都没有几家用MFC做界面了。 目前来说MFC界面框架可以用来学习,实际要么用dlg拖个小工具就好。
咳咳 那该怎么办呢?我用过VS2015,也只做个几个简单的MFC程序,不创建基于对话框的MFC程序的话,我就一头雾水了。。。是和MFC连接mysql数据库一样下载mysql再连接MFC,下载界面库软件然后和什么连接吗?[/quote] 链接mysql跟MFC没有半毛钱关系。链接MySQL也和界面没有任何关系。。。。。[/quote] 我是举个例子。。。 开发环境也就用过VC6.0和VS2015,勉强算的了开发工具上的入门了。只做个简单的MFC程序,用MFC连接过Mysql和微软的sql,只是拿MFC练Mysql做例子 只用过MFC的关系,要是不创建基于对话框的MFC程序,我就一头雾水一片茫然了。。 楼上好多大牛爱说行话,也不向我这个菜鸟解释解释是什么、咋弄,我好慌。。。
void_main_void 2017-09-20
  • 打赏
  • 举报
回复
引用 21 楼 m0_37160982 的回复:
[quote=引用 19 楼 void_main_void 的回复:] 做360那种界面还是放弃MFC吧。或者去下个BCGControlBar玩玩 今年年初泄漏出来 27.0 现在公司都没有几家用MFC做界面了。 目前来说MFC界面框架可以用来学习,实际要么用dlg拖个小工具就好。
咳咳 那该怎么办呢?我用过VS2015,也只做个几个简单的MFC程序,不创建基于对话框的MFC程序的话,我就一头雾水了。。。是和MFC连接mysql数据库一样下载mysql再连接MFC,下载界面库软件然后和什么连接吗?[/quote] 链接mysql跟MFC没有半毛钱关系。链接MySQL也和界面没有任何关系。。。。。
骑猴子的六子 2017-09-19
  • 打赏
  • 举报
回复
引用 12 楼 m0_37160982 的回复:
[quote=引用 10 楼 qq_29522823 的回复:] DUI啊
编程菜鸟 第一次接触DUI这个玩意 好几个推荐这个了 是不是MFC老的不能看了啊看来要去了解下DUI弄界面了 到时希望不吝赐教[/quote] DUI做出来界面会更加豪华一点,而且控件类也比较多,布局调整也有界面编辑工具爽歪歪,这也不代表MFC老了各有各的好,说不定你用完DUI回去用MFC还是能在MFC身上打个颤!
xiaohuh421 2017-09-19
  • 打赏
  • 举报
回复
不知道你说的关键的地方, 是指什么 如果要学习完整的UI自绘. 至少两个大类你要会. 1. windows消息机制, 2. gdi和gid+绘制各种几何图形和相关变换. 这两个大类都有专门的书籍介绍它们. 去图书管借或者在网上购买相关书籍来参考吧. 一般博客里面, 都不会是新手教程,从0开始. 都是记录关键代码, 需要有一定基础才能看懂.
小小攻城狮丶 2017-09-19
  • 打赏
  • 举报
回复
引用 19 楼 void_main_void 的回复:
做360那种界面还是放弃MFC吧。或者去下个BCGControlBar玩玩 今年年初泄漏出来 27.0 现在公司都没有几家用MFC做界面了。 目前来说MFC界面框架可以用来学习,实际要么用dlg拖个小工具就好。
咳咳 那该怎么办呢?我用过VS2015,也只做个几个简单的MFC程序,不创建基于对话框的MFC程序的话,我就一头雾水了。。。是和MFC连接mysql数据库一样下载mysql再连接MFC,下载界面库软件然后和什么连接吗?
小小攻城狮丶 2017-09-19
  • 打赏
  • 举报
回复
引用 18 楼 psbeond 的回复:
如果时间紧,零基础,几乎不太可能做出来。唯有采用界面库。
嗯 看来都不建议短时间去学MFC自绘界面,那就试着学下LibUIDK界面库好了
void_main_void 2017-09-19
  • 打赏
  • 举报
回复
做360那种界面还是放弃MFC吧。或者去下个BCGControlBar玩玩 今年年初泄漏出来 27.0 现在公司都没有几家用MFC做界面了。 目前来说MFC界面框架可以用来学习,实际要么用dlg拖个小工具就好。
psbeond 2017-09-19
  • 打赏
  • 举报
回复
如果时间紧,零基础,几乎不太可能做出来。唯有采用界面库。
小小攻城狮丶 2017-09-19
  • 打赏
  • 举报
回复
引用 15 楼 qq_29522823 的回复:
[quote=引用 12 楼 m0_37160982 的回复:] [quote=引用 10 楼 qq_29522823 的回复:] DUI啊
编程菜鸟 第一次接触DUI这个玩意 好几个推荐这个了 是不是MFC老的不能看了啊看来要去了解下DUI弄界面了 到时希望不吝赐教[/quote] DUI做出来界面会更加豪华一点,而且控件类也比较多,布局调整也有界面编辑工具爽歪歪,这也不代表MFC老了各有各的好,说不定你用完DUI回去用MFC还是能在MFC身上打个颤![/quote] 受教了!时间太紧了,不知道半个月能不能勉强弄懂并作出个类似360卫士那样的主界面
小小攻城狮丶 2017-09-19
  • 打赏
  • 举报
回复
感谢楼上各位的帮忙!! 最大的问题在于,大大们用过很多开发环境或很久,经验丰富,所以在回答我的时候都用的行话。可我是刚入门MFC的菜鸟,网上找了一大堆、逛了很多论坛,可是都
引用 14 楼 xiaohuh421 的回复:
不知道你说的关键的地方, 是指什么 如果要学习完整的UI自绘. 至少两个大类你要会. 1. windows消息机制, 2. gdi和gid+绘制各种几何图形和相关变换. 这两个大类都有专门的书籍介绍它们. 去图书管借或者在网上购买相关书籍来参考吧. 一般博客里面, 都不会是新手教程,从0开始. 都是记录关键代码, 需要有一定基础才能看懂.
受教了!时间太紧是没办法学习完整的UI自绘了,好多人推荐那啥叫什么DUI、LibUIDK界面库、duilib,是不是该转战这些呢
xiaohuh421 2017-09-18
  • 打赏
  • 举报
回复
也就是去掉相关的属性就可以了. http://blog.csdn.net/visualeleven/article/details/19543391
小小攻城狮丶 2017-09-18
  • 打赏
  • 举报
回复
引用 11 楼 xiaohuh421 的回复:
现在所库duilib和soui都很好用. duilib已经没有官方维护版本, soui有官方维护. MFC 自绘的话, 就是重写OnPaint和OnEraseBkg
感谢帮忙! 我的MFC知识真的差,勉强算的上刚入门的菜鸟MFC自绘的话网上都是不详细的,关键的地方经常一笔带过,对菜鸟真的不友好呢
加载更多回复(11)
一、VS2010/MFC编程入门教程之目录 第一部分:VS2010/MFC开发环境 VS2010/MFC编程入门之前言 VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解) 第二部分:VS2010/MFC应用程序框架 VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架) VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构) VS2010/MFC编程入门之四(MFC应用程序框架分析) VS2010/MFC编程入门之五(MFC消息映射机制概述) 第三部分:对话框 VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性) VS2010/MFC编程入门之七(对话框:为对话框添加控件) VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量) VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数) VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序) VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程) VS2010/MFC编程入门之十二(对话框模态对话框的创建及显示) VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍) VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示) VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示) VS2010/MFC编程入门之十六(对话框:消息对话框) VS2010/MFC编程入门之十七(对话框:文件对话框) VS2010/MFC编程入门之十八(对话框:字体对话框) VS2010/MFC编程入门之十九(对话框:颜色对话框) 第四部分:常用控件 VS2010/MFC编程入门之二十(常用控件:静态文本框) VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control) VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box) VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例) VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox) VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box) VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar) VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control) VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上) VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下) VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上) VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下) VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上) VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下) 第五部分:菜单、工具栏与状态栏 VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解) VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用) VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类) VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用) VS2010/MFC编程入门之三十八(状态栏的使用详解) 第六部分:文档、视图和框架 VS2010/MFC编程入门之三十九(文档、视图和框架:概述) VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系) VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口) 第七部分:MFC常用类 VS2010/MFC编程入门之四十二(MFC常用类:CString类) VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类) VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer) VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类) VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理) 第八部分:字体和文本输出 VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类) VS2010/MFC编程入门之四十八(字体和文本输出:文本输出) 第九部分:图形图像 VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数) VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen) VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush) 第十部分:Ribbon界面开发 VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架) VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件) VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数) 本文来源于鸡啄米 http://www.jizhuomi.com/ , 原文地址:http://www.jizhuomi.com/software/257.html
目 录 译者序 前言 第一部分 基础知识 第1章 窗口 2 1.1 窗口和API环境 2 1.1.1 三种类型窗口 2 1.1.2 客户客户 3 1.2 窗口和MFC环境 4 1.3 怎样应用MFC创建一个窗口 5 1.4 怎样使用MFC销毁一个窗口 9 1.4.1 捆绑到一个已有的窗口 9 1.4.2 窗口类 10 1.4.3 窗口进程 10 1.5 怎样使用MFC创建一个窗口类 11 1.5.1 使用AfxRegisterWndClass () 函数注册一个窗口类 11 1.5.2 使用AfxRegisterClass ()函数 创建一个窗口类 12 1.6 怎样销毁一个MFC窗口类 14 1.7 厂商安装的窗口类 14 1.8 其他类型窗口 15 1.9 桌面窗口 16 1.10 小结 16 第2章 类 18 2.1 基类 18 2.1.1 CObject 18 2.1.2 CCmdTarget 19 2.1.3 CWnd 19 2.2 应用程序、框架、文档和视图类 19 2.2.1 CWinApp(O/C/W) 20 2.2.2 CView (O/C/W) 21 2.3 其他用户界面类 22 2.3.1 通用控件类 23 2.3.2 菜单类 23 2.3.3 对话框类 24 2.3.4 控制条类 24 2.3.5 属性类 25 2.4 绘图类 25 2.4.1 设备环境类 25 2.4.2 图形对象类 25 2.5 文件类 26 2.6 数据库类 26 2.6.1 ODBC类 26 2.6.2 DAO类 27 2.7 数据集类 27 2.8 其他数据类 27 2.9 通信类 28 2.10 其他类 29 2.11 小结 31 第3章 消息处理 32 3.1 发送或寄送一个消息 32 3.1.1 发送一个消息 32 3.1.2 寄送一个消息 32 3.1.3 发送一个消息与寄送一个消息 的比较 32 3.2 怎样使用MFC发送一个消息 33 3.3 怎样用MFC寄送一个消息 33 3.4 三种类型的消息 34 3.4.1 窗口消息 34 3.4.2 命令消息 34 3.4.3 控件通知 34 3.5 MFC怎样接收一个寄送的消息 36 3.6 MFC怎样处理一个接收到的消息 36 3.7 处理用户界面的对象 44 3.8 创建自定义窗口消息 45 3.8.1 静态分配的窗口消息 45 3.8.2 动态分配的窗口消息 46 3.9 重定向消息 47 3.9.1 子分类和超分类 47 3.9.2 用MFC子分类窗口 48 3.9.3 重载OnCmdMsg ( ) 49 3.9.4 使用SetWindowsHookEx ( ) 49 3.9.5 使用SetCapture ( ) 49 3.9.6 专有的消息泵 50 3.10 小结 50 第4章 绘图 51 4.1 设备环境 51 4.2 在MFC环境中创建一个设备环境 52 4.2.1 屏幕 52 4.2.2 打印机 53 4.2.3 内存 54 4.2.4 信息 54 4.3 绘图例程 55 4.3.1 画点 55 4.3.2 画线 55 4.3.3 画形状 55 4.3.4 形状填充和翻转 55 4.3.5 滚动 56 4.3.6 绘制文本 56 4.3.7 绘制位图和图标 56 4.4 绘图属性 56 4.4.1 设备环境属性 57 4.4.2 画线属性 58 4.4.3 形状填充属性 58 4.4.4 文本绘制属性 58 4.4.5 映像模式 59 4.4.6 调色板属性 62 4.4.7 混合属性 62 4.4.8 剪裁属性 63 4.4.9 位图绘制属性 64 4.5 元文件和路径 65 4.5.1 元文件 65 4.5.2 路径 66 4.6 颜色和调色板 66 4.6.1 抖动色 67 4.6.2 未经抖动色 67 4.6.3 系统调色板 67 4.6.4 使用系统调色板 68 4.6.5 动画色 71 4.7 控制什么时候在哪里绘图 71 4.7.1 处理WM_PAINT 71 4.7.2 只绘制被无效化的域 72 4.7.3 处理WM_DRAWITEM 72 4.7.4 在其他时间绘图 73 4.8 小结 74 第二部分 用户界面实例 第5章 应用程序与环境 76 5.1 例1 规划MFC应用程序 76 5.2 例2 用AppWizard创建一个MFC 应用程序 79 5.3 例3 用ClassWizard创建一个类 83 5.4 例4 初始化应用程序屏幕 84 5.5 例5 保存应用程序屏幕 86 5.6 例6 处理命令行选项 88 5.7 例7 动态改变应用程序图标 91 5.8 例8 提示用户优先选项 93 5.9 例9 保存和恢复用户优先选项 97 5.10 例10 终止应用程序 100 5.11 例11 创建一个启动窗口 101 第6章 菜单 107 6.1 例12 使用菜单编辑器 107 6.2 例13 添加一个菜单命令处理函数 109 6.3 例14 根据当前可视文档动态改 变菜单 110 6.4 例15 启用和禁用菜单命令 111 6.5 例16 复选标记菜单命令 112 6.6 例17 单选标记菜单命令 113 6.7 例18 动态修改菜单 114 6.8 例19 动态修改系统菜单 116 6.9 例20 触发一个菜单命令 117 6.10 例21 创建弹出式菜单 117 第7章 工具栏和状态栏 120 7.1 例22 使用工具栏编辑器 120 7.2 例23 启用和禁用工具栏按钮 122 7.3 例24 为工具栏按钮添加字 123 7.4 例25 标准工具栏大小 128 7.5 例26 保持工具栏按钮按下 129 7.6 例27 保持工具栏按钮组中 一个按钮按下 130 7.7 例28 为工具栏添加按钮控件 131 7.8 例29 修改应用程序的状态栏 136 7.9 例30 更新状态栏窗格 138 7.10 例31 为状态栏添加其他控件 139 第8章 视图 145 8.1 例32 滚动视图 145 8.2 例33 改变鼠标光标形状 147 8.3 例34 沙漏光标 148 8.4 例35 窗体视图 149 8.5 例36 列表视图 152 8.6 例37 动态分割一个视图 163 第9章 对话框和对话条 166 9.1 例38 使用对话框编辑器 166 9.2 例39 创建一个对话框类 168 9.3 例40 模式对话框 170 9.4 例41 无模式对话框 171 9.5 例42 在无模式对话框的控件间 切换焦点 172 9.6 例43 对话框中的动画 173 9.7 例44 消息框 174 9.8 例45 对话条 176 第10章 控件窗口 182 10.1 例46 在任意位置创建一个控 件窗口 182 10.2 例47 用子分类定制一个通用 控件窗口 183 10.3 例48 用超分类定制一个通用 控件窗口 188 10.4 例49 在按钮上放置位图 190 10.5 例50 动态填充一个组合框 192 10.6 例51 排序一个列表控件 194 10.7 例52 分隔线控件 196 第11章 绘图 198 11.1 例53 绘制图形 198 11.2 例54 绘制文本 201 11.3 例55 从任意位置装入一个图 标并绘制 203 11.4 例56 从任意位置装入一个位 图和绘制一个位图 204 11.5 例57 从文件中创建一个位图 206 11.6 例58 创建一个自绘位图 211 第三部分 内部处理实例 第12章 消息 215 12.1 例59 添加消息处理函数或重 载MFC类 216 12.2 例60 添加命令范围消息处理函数 219 12.3 例61 重定向命令消息 221 12.4 例62 创建自己的窗口消息 222 第13章 文件、串行化和数据库 225 13.1 例63 访问二进制文件 225 13.2 例64 访问标准I/O文件 227 13.3 例65 访问内存文件 228 13.4 例66 在数据类中实现串行化 229 13.5 例67 串行化SDI或MDI文档 235 13.6 例68 按要求串行化 240 13.7 例69 透明地更新串行化的文档 242 13.8 例70 串行化多态类 246 13.9 例71 串行化数据集 248 13.10 例72 访问ODBC数据库 252 13.11 例73 访问DAO数据库 257 第14章 杂类 263 14.1 例74 剪切、拷贝和粘贴文本 数据 263 14.2 例75 剪切、拷贝、粘贴多信 息文本数据 268 14.3 例76 剪切、拷贝和粘贴二进制 数据 273 14.4 例77 数组函数 280 14.5 例78 列表函数 281 14.6 例79 映像函数 283 14.7 例80 系统键盘输入 285 14.8 例81 时间 288 第四部分 打包实例 第15章 库 291 15.1 例82 静态链接C/C++库 291 15.2 例83 动态链接C/C++库 295 15.3 例84 动态链接MFC扩展类库 300 15.4 例85 资源库 303 第五部分 附录 附录A 控件窗口风格 305 附录B 消息、控件通知和消息映像宏 323 附录C 访问其他应用程序类 328 附录D 开发中注意事项 330 附录E MFC快速参考指南 339

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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