vc6.0 mfc窗口问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc6.0 mfc窗口问题相关的知识,希望对你有一定的参考价值。

初学mfc,想提问以下几个问题。
1.我做了一个基于对话框的程序,窗口最上端添加了工具栏,点击工具栏上的按钮,让新的窗口在主窗口的工具栏下面显示,点击不同的工具栏按钮在下面出现不同的对话框,其实工具栏就像在网页中的导航条一样。现在窗口切换问题不能解决,如何在用户点击一个按钮时,将原来的窗口隐藏,并且出现新窗口,可能说的有点模糊,就像360吧,那种窗口切换是怎样做到的?
2.继续第一问,在打开一个窗口时,我想让它以最大化的方式打开,但是它会将整个父窗口占满,工具栏也被挡住了,如何让他在工具栏以下的部分以最大化方式打开,也就是像vc6.0里面打开文件一样,cpp文件占用了一个窗口,最大化时只占用工作区,而不是铺满整个屏幕。
其实问题还很多,暂且说这两个吧,初学mfc,对此问题纠结了好长时间,但愿好心人能帮我解决,说的越详细越好啊,如果能解决,我还会追加分数的!

慢慢来。你涉及的问题大部分调研mfc封装的函数即可。建议通过查阅资料,一点点积累,会解决的。
譬如:SetWindowPos函数如何使用的。等等吧追问

有没有一个函数,当它执行时激活当前窗口(就是鼠标点击工具时要出现的窗口),而把其他的兄弟窗口都隐藏了?

参考技术A 你不一定要用工具栏,用Tab Control完全没有那么麻烦了。而且360那个也不是用工具栏做的 参考技术B 那叫属性页propertysheet 参考技术C 点击工具时可以用showwindow(SW_HIDE)隐藏其他的窗口,showwindow(SW_SHOW)来显示你激活的窗口追问

关键是有多个窗口,难道在每次选中时都逐个去写代码隐藏?这样太麻烦了呀

视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC


今日介绍使用模板,来快速创建Windows窗口图形界面程序。再用大约30分钟,你就会啦。


模板的创建方法是上次介绍的,参见:




本视频分为使用VC2010、使用VC6两种(以下两个视频,根据你要选用的VC版本,看一个视频就可以了)。使用其他版本的VC也是大同小异。


(1)在VC2010中使用模板创建Windows程序


(2)在VC6中使用模板创建Windows程序


通过模板,是不是很轻松?简单的Windows窗口图形界面程序,几分钟就可搭建出来!


模板怎么来的?上次介绍的创建模板的方法:


模板源代码下载链接(长按复制到浏览器,支持VC2010、VC6打开):

http://www.nsitedu.com/win/download/template1.rar

Visual Assist下载链接(长按复制到浏览器):

http://www.nsitedu.com/cpp/download/VA_X_Setup1903.exe

http://www.nsitedu.com/cpp/download/VA_X_patch.exe

Visual Studio 2010 安装和使用方法长按复制到浏览器):

https://ke.qq.com/course/441062


不用MFC

说明:不用MFC,这是和很多其他课程、很多教科书不同的。

我们采用的方式是:使用Windows API

通过这种方式,使用C++编写Windows窗口图形界面程序,

上手将非常容易!1小时就学会噢
而使用MFC,你不觉得它很臃肿吗?很费事吗?不好学吗?……这就是不用MFC的原因。


好消息!



现在,这门课上线啦!已经在网上开课,向大家开放啦

不是天津大学本校的同学,也可以学习啦!


这就是

视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC


详细点下面链接


点文末阅读原文直达腾讯课堂



不要再为用什么语言掐架了




编程用什么语言好?你是否经常听到有人在为这个问题“掐架”:
有人说python好,我就用python,其他语言都不好;
有人说C#好,编写Windows图形界面应该用C#;
有人说C++里,就得用MFC;
有人说Java好,有人说VB好,有人说Delphi好,有人说Matlab好……
有人经常关注每年语言排名,什么语言名列前茅,某种语言又进了多少名、又退了多少名……

你们的掐架可以休矣!
因为这都是初学者的行为,高手从来不做这种事情。因为,
所有语言的本质都是一样的

视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC

我们这里学习的 Windows API就是一切语言的本质
无论什么语言,包括汇编语言
只要是编写运行在Windows上的程序
最终本质都是转换为对 Windows API的调用
这是系统的最底层本质!

我们绕开所有经销商,直接从厂家进货
直接调用 Windows API !
这里,我们只是以C++为例而已
使用其他任何语言,都是一样的



究竟用哪种方式编写Windows应用程序最好,其实并无一定之规。应用程序本身的特性应该是决定采用何种编程工具的最主要因素。但是无论将来你采用什么编程工具,通过了解Windows API从而深入理解Windows的工作原理,这本身就具有很重要的意义。

—— Charles Petzold


徘徊在语言的选择中毫无意义,主要精力应放在如何解决实际问题上。

而且,要非常方便地解决。





不用MFC的具体原因




MFC的问题尤其严重。尽管它极大地简化了某些工作,但我经常发现自己会在某些其他功能上摔跟斗(比如让文档/视图的体系结构按照我的设想来工作)。并非像很多人一厢情愿期望的那样,MFC始终能成为Windows编程的万灵宝药,几乎也没人认为它是一种很好的面向对象的设计模型

—— Charles Petzold



MFC不过是对WindowsAPI的一种封装形式,而且是一种轻量级的封装。Windows的很多功能并没有真正地被包含进去,所以使用这种编程方式就是在束缚我们的手脚。

—— Charles Petzold



Windows是一个非常复杂的系统,在API之上加一层编程语言并不能消除其复杂性,最多不过是把复杂性隐藏起来而已。说不定什么时候,Windows复杂的那一面迟早会蹦出来拖你的后腿,懂得API能让你到时候更快地挣脱困境

—— Charles Petzold




什么是Windows API




Windows API(Application Programming Interface),即Windows应用程序编程接口,是Windows系统提供的一整套编程函数库,包括大量函数。任何在Windows中运行的程序包括Windows本身都是靠调用这些函数运行的。

Windows API能干什么?
这个问题不好回答,因为Windows API提供的功能实在太丰富了,且不断有新的API函数被开发出来。
与其问“Windows API能干什么?”不如问“它不能干什么?
答案是:它没有什么不能干的!Windows API可以实现除了+、-、*、/基本运算之外的几乎一切功能!


Windows API在哪里?
API函数大部分位于Windows系统目录下的库文件中,这些库文件大多是.dll文件,比较常用的有kernel32.dll、gdi32.dll、user32.dll等。这些文件是随Windows操作系统的安装而被安装到系统中的,而且它们都很重要。

视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC

因此,使用Windows API,就Windows API来说,你 不需要安装任何软件!它就在你的Windows 系统里,它们是你的Windows系统 很重要很重要的部分,生来自带。


好消息!


现在,这门课上线啦!已经在网上开课,向大家开放啦

不是天津大学本校的同学,也可以学习啦!


这就是



详细点下面链接


点文末阅读原文直达腾讯课堂