20几行代码,用C++让微信地球转起来,太酷了!视频手把手教你,零基础人人学会
Posted 大零蛋带你零基础学电脑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20几行代码,用C++让微信地球转起来,太酷了!视频手把手教你,零基础人人学会相关的知识,希望对你有一定的参考价值。
每种语言有它适合的场合。
今天,来讨论如何实现下面效果:
熟悉吧?微信的登录界面
但一般微信登录界面地球是不动的,如何让地球动起来呢?
怎么实现?
有人说用Python实现。为啥, 因为Python简单?
Python实现,需要 90行代码,出处见下面:
https://mp.weixin.qq.com/s/FNzlNHGDPLB5WQIIanIwlQ
点文末阅读原文直达90行代码实现的python版本
我今天要说的是, 用C++实现!
C++难么?
同样的效果,我用C++实现,只需要 20几行代码!
不用MFC
说明:不用MFC,这是和很多其他课程、很多教科书不同的。
我们采用的方式是:使用Windows API。
通过这种方式,使用C++编写Windows窗口图形界面程序,
来看下面视频, 手把手教给大家用 C++实现,人人可以学会:
想自己试一试不?相关素材下载链接(电脑上打开):
http://www.nsitedu.com/share/share.htm
零基础,人人都可以做出来,下载试试吧
VC2010的安装和基本用法见:https://ke.qq.com/course/441062
附源代码
CBForm form1(ID_form1);
CBTimer timMove;
CBDeviceContext mDCBack, mDCWX;
void picMain_Paint()
{
static int x=0;
CBDeviceContext dc;
dc.SetFromGetDC(form1.Control(ID_picMain).hWnd());
HDC hDC = dc.hDC();
CBDeviceContext dcMem;
dcMem.SetFromCreateCompatible(hDC,375,592);
HDC hDCMem = dcMem.hDC();
// 将背景绘制到 dcMem
BitBlt(hDCMem, 0, 210, 375, 288, mDCBack.hDC(), x, 0, SRCCOPY);
x+=10; if (x>1026-375) x=0;
// 将微信背景“透明”绘制到内存设备环境
TBDrawTransParentBitmap(hDCMem, 0, 0, mDCWX.hDC(), RGB(255,255,255));
//将内存设备环境一次性绘制到控件
BitBlt(hDC, 0, 0, 375, 592, hDCMem, 0, 0, SRCCOPY);
}
void CALLBACK timMove_Timer(HWND hWnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
InvalidateRect(form1.Control(ID_picMain).hWnd(), NULL, true);
}
void form_Load()
{
form1.Control(ID_picMain).Move(0,0,375,592);
//加载位图资源
HDC hDC = GetDC(form1.Control(ID_picMain).hWnd());
mDCBack.SetFromBitmap(hDC, IDB_BITMAP1);
mDCWX.SetFromBitmap(hDC, IDB_BITMAP2);
ReleaseDC(form1.Control(ID_picMain).hWnd(), hDC);
//设置定时器
timMove.hWndAssoSet(form1.hWnd());
timMove.IntervalSet(100);
timMove.pFuncCallBackSet(timMove_Timer);
timMove.EnabledSet(true);
}
int main()
{
form1.EventAdd(0, eForm_Load, form_Load);
form1.EventAdd(ID_picMain, ePaint, picMain_Paint);
form1.IconSet(IDI_ICON1);
form1.Show();
return 0;
}
除去空行、除去注释、除去函数头,有效代码也就20几行。
比用90行代码实现的python版,如何?
这个真该给那些唯python“崇拜者”们好好看看
说C++麻烦/难,python简单/容易的
真是啪啪打脸呐~~
但是,话又说回来:这种比较不科学!
我说这个的意思不是诋毁python、不是反对python
而是强调:工具包的作用。
工具包都是人编的,系统库函数也是人编的。
自己设计好了通用模块,就这威力!
我那本《老兵新传:Visual Basic核心编程及通用模块开发》一书中也是在讲这个思想。
所以,那些说python简单的、唯python的“崇拜者”们:你们的认为是假的!
有兴趣大家可以看一下下面两个视频,把C++搞得跟VB一样:
我比较反感的是,整天挂在嘴边,这个语言好,那个语言坏,今天这个语言排名靠前,明天那个语言排名靠后……显得自己懂得很多,显得自己用的语言最“时髦”……而实际到了解决问题呢?一个问题解决不了,百无一用
总之,正确看待语言,
正确选择语言。
要看清工具包的作用,看清本质。
学哪种语言都可以,无所谓对错
但是:切忌盲目跟风!这是极度错误的!
就说到这。
更多阅读:
点阅读原文直达90行代码实现的python版本
现在,这门课上线啦!已经在网上开课,向大家开放啦
不是天津大学本校的同学,也可以学习啦!
这就是
详细点下面链接
以上是关于20几行代码,用C++让微信地球转起来,太酷了!视频手把手教你,零基础人人学会的主要内容,如果未能解决你的问题,请参考以下文章