Windows – 虚拟按键Virtual-Key Codes大全
1 虚拟按键Virtual-Key的应用场景 在开发Win32程序时当需要程序接受键盘按键消息时,通常需要WM_KEYDOWN消息的wParam参数判断到底是按下了键盘的哪一个键, 示例代码可参考: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, …
- Windows编程
- 2020-12-25
Duilib – RichEdit作为日志输出控件,更新日志内容后并自动跳到最后一行
1 编写界面xml 在界面xml中的需要添加日志显示的位置添加以下代码: <RichEdit name="RichEdit_Log" text="日志控件" multiline="true" vscrollbar="true" autovscroll="true" readonly="true…
- Duilib
- 2020-12-21
Centos7 编译C++项目错误解决 : terminate called after throwing an instance of ‘std::regex_error’
1 问题原因 Centos7默认的gcc版本是4.8.3,虽然对C++11的一些新特性提供了支持,但是对C++11的正则表达式好像只写了头文件,没有提供具体的实现????!Wtf! 因为在cmake编译项目的时候整个项目可以正确的编译成功,但是一旦运行就会出现 terminate called af…
- C++
- 2020-12-16
Modern OpenGL – GLSL着色语言4:GLSL中的数据存储限制符
1 数据存储限制符 GLSL的基本数据类型和聚合数据类型可以通过数据存储修饰符改变自己的行为。 主要的存储限制符如下: 类型修饰符 描述 const 将一个变量定义为只读形式,如果它初始化时用的是一个编译时常量,那么它本身也会成为编译时常量 in 设置变量为着色器阶段的输入变量 out 设置变量为着…
- OpenGL可编程渲染管线
- 2020-12-15
Modern OpenGL – GLSL着色语言3:GLSL中的数据类型
1 GLSL的基本数据类型 GLSL中支持以下基本数据类型: 类型 描述 float 32位浮点值 double 64位浮点值 int 有符号32位整型 uint 无符号32位整型 bool 布尔值 2 GLSL的聚合类型:向量和矩阵 GLSL的基本类型可以进行合并,从而与核心OpenGL的数据类型…
- OpenGL可编程渲染管线
- 2020-11-24
用MFC写一个简易的恶作剧QQ好友的聊天轰炸机
CSDN老文,审核不通过放在个人网站。 1 MFC QQ聊天轰炸机 突发奇想,想写一个轰炸自己QQ好友的聊天轰炸机,哈哈哈,看了半天自己就写了一个Low的聊天轰炸机,纯粹依靠剪切板往聊天窗口复制文字,然后模拟回车按钮完成发送,写了一个简单的MFC对话框Demo,大牛自动跳出,无需再看。 1.1 代码…
- Windows编程
- 2020-11-16
Modern OpenGL – GLSL着色语言2:GLSL入口函数和GLSL中的变量
1 GLSL的入口函数和基本结构 对于很多编程语言学习的第一步就是学习如何输出HelloWorld,学过类C语言的同学都知道,C和C++程序的入口函数就是从main函数开始,那么和C语言类似,GLSL语言的入口函数也是从main开始的,每一个OpenGL的shader都有着类似于下列代码的基本结构:…
- OpenGL可编程渲染管线
- 2020-11-16
Modern OpenGL – GLSL着色语言1:OpenGL着色器简介
1 OpenGL引入GLSL的前世今生 OpenGL着色语言 GLSL- OpenGL Shading Language是一种专门二维三维图形开发设计的编程语言,现代OpenGL如果不使用GLSL,那么我们唯一可以做的事情就是使用glClear不断地清除窗口颜色了,由此可见,现代OpenGL的核心就…
- OpenGL可编程渲染管线
- 2020-11-14
C++ – 字节数组byte[]或者unsigned char[]与int的相互转换
一个字节为8位二进制位 1 int转字节数组byte[] C++中,字节数组byte通常用unsigned char表示,所以int转换为字节数组本质上是将int转换为unsigned char数组。int一般为4个字节,那么就为32位二进制位表示。 代码如下: void IntToByte(int…
- C++
- 2020-11-10
Duilib – 使Duilib主窗口前置,但是又不是一直作为最顶层窗口
1 Duilib主窗口前置,但是又不是一直作为最顶层窗口 在有些情况下需要Duilib主窗口前置但是又不是一直作为最顶层窗口,具体的应用情况栗子比如:Duilib写了一个接语音电话的PC端,需要在来电的时候自动将客户端弹出作为最顶层窗口。 所以可以在弹出和前置Duilib主窗口的位置加入以下代码: …
- Duilib
- 2020-10-20
C++ 11 – final关键字简要介绍
如果在基类的虚函数声明中加上了final关键字,则表明后续的派生类不能重写该函数。 1 基类的虚函数上加上final关键字 表明基类后续的派生类不能重写该虚函数。 代码示例: #include <iostream> #include <memory> using namesp…
- C++
- 2020-10-12
C++11 – override关键字简要介绍
C++11 中的 override 关键字,可以显式的在派生类中声明,基类的哪些函数需要被重写,如果没被重写,则编译器会报错。防止出现在需要调用派生类某个成员函数的情况下错误的调用了基类的缺省函数实现。 1 派生类对基类中的函数继承 派生类对基类中的函数继承可以分为几种类型: 接口继承,通过在基类中…
- C++
- 2020-10-12