/ 大零蛋带你零基础学电脑_【人人5分钟学会】4行代码用C++编程实现任意形状窗体,不用MFC

大零蛋带你零基础学电脑_【人人5分钟学会】4行代码用C++编程实现任意形状窗体,不用MFC

由玩转的作者发表于2021-07-11 19:30:00


今日介绍用C++编写任意形状的窗体。

比如要实现下面小鸟形状的窗体,该如何做呢?

看似高大上,实际小菜一碟5分钟包你学会,只需4行代码

请看视频:


附源代码:

    form1.PictureSet(IDB_BITMAP1);    // 设置窗体背景图片    form1.MoveToScreenCenter(294,370);  // 将窗体移动到屏幕中间并设置窗体大小为294x370    form1.TransparencyKeySet(RGB(255,255,255));  // 实现白色部分透明    form1.TitleBarBehaviorSet(1);      // 实现拖动窗体任意处可改变窗体位置

类似地,你可实现任意窗体了,什么动物、植物、美女、卡通……只要找到你喜欢的图片就可以啦。

注意一定是bmp格式的图片,如果是其他格式的图片,可用Windows画图板程序打开后另存以转换为bmp格式的图片。观察图片背景颜色是什么,用RGB(R,G,B)表示这种颜色,实现这种颜色的透明。

还等啥,还不动手试一试?



1小时学会Windows编程


关于该Windows编程模板的视频和下载方法,以前介绍过,请点以下链接观看:


视频:1小时学会用C++编写Windows窗口图形界面程序,不用MFC


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


不用MFC

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

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

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

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




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




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

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

我们这里学习的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操作系统的安装而被安装到系统中的,而且它们都很重要。

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

作者:玩转的作者

公众号:大零蛋带你零基础学电脑

原文链接:http://mp.weixin.qq.com/s?__biz=MzI2NDM4ODg1Nw==&mid=2247491561&idx=2&sn=7ba11b6f6ed272c21231f15e66195c93&chksm=eaac367fdddbbf69ce3ee03c19f480fe6dfc2d6c90dafbc5a2afa89926143b814f8dca5e9b34&scene=0&xtrack=1#rd

发布时间:2021-07-11 19:30:00

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注