20几行代码,用C++让微信地球转起来,太酷了!【视频手把手教你,零基础人人学会】
今天,来讨论如何实现下面效果:

但一般微信登录界面地球是不动的,如何让地球动起来呢?
怎么实现?
Python实现,需要90行代码,出处见下面:
https://mp.weixin.qq.com/s/FNzlNHGDPLB5WQIIanIwlQ
点文末阅读原文直达90行代码实现的python版本
我今天要说的是,用C++实现!
C++难么?
同样的效果,我用C++实现,只需要20几行代码!
不用MFC
说明:不用MFC,这是和很多其他课程、很多教科书不同的。
我们采用的方式是:使用Windows API。
通过这种方式,使用C++编写Windows窗口图形界面程序,
http://www.nsitedu.com/share/share.htm
零基础,人人都可以做出来,下载试试吧
VC2010的安装和基本用法见:https://ke.qq.com/course/441062
附源代码
#include "resource.h"#include "BForm.h"#include "BTimer.h"#include "BDeviceContext.h"#include "mdlTransBMP.h"
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一样:
视频:1小时学会用C++编写Windows窗口图形界面程序,不用MFC
视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC

我比较反感的是,整天挂在嘴边,这个语言好,那个语言坏,今天这个语言排名靠前,明天那个语言排名靠后……显得自己懂得很多,显得自己用的语言最“时髦”……而实际到了解决问题呢?一个问题解决不了,百无一用

总之,正确看待语言,
正确选择语言。
要看清工具包的作用,看清本质。
学哪种语言都可以,无所谓对错
但是:切忌盲目跟风!这是极度错误的!
就说到这。
更多阅读:
该学什么编程语言?人工智能Python?少儿编程Scrach?C语言?
赞 (0)
