C/C++
文章平均质量分 71
笨笨D幸福
一个因好奇而误入地球的太阳系生物
展开
-
C# Winform 中使用 Webview2
目前的windows/Linux下的UI方案,以Qt为主,Flutter, Electron为辅,其他的各种UI都是不堪大用。除了使用CEF的Qt/C++/C#方案,Qt+WebEngine, 目前在Windows下各家的最终归路都转向Webview2方案,可以极大地减少发布的程序的大小。原创 2023-05-06 14:21:23 · 6922 阅读 · 5 评论 -
Qt Http JSON Get-Post 代码
【代码】Qt Http JSON Get-Post 代码。纯Qt实现Http Get/Post协议:1. Block模式2. 支持超时取消功能3. 可自定义Header原创 2023-02-16 14:06:52 · 302 阅读 · 0 评论 -
CMake基础学习使用与Demo-第二篇
有了上一篇,基础的cmake使用配合IDE已经能完成基本的工作了,对于复杂的项目,一般还需要配合编译器做定制。比如使用Boost库,CUDA,使用Qt框架,使用CMake编译嵌入式程序…甚至可以考虑使用ctest指令完成代码的单元测试,或者install指令或者cpack制作安装脚本。还可以通过配置不同编译器,进行跨平台编译。原创 2023-02-07 16:27:23 · 491 阅读 · 0 评论 -
CMake基础学习使用与Demo-第一篇
CMake即跨平台和跨方案的类似make方案,使用CMakeLists.txt进行编译内容管理。和他对应的是国产的xmake, 更简单易用,但是不够国际化,正式项目以Cmake为主目前,VS,QT, Clion,VSCode等各大IDE都默认支持CMake构建,所以,以后的项目如果可以使用CMake是一个比较好的开放方案。原创 2023-02-07 13:33:06 · 896 阅读 · 1 评论 -
嵌入式UI框架 LVGL 学习笔记 01 基础概念
# 基础组件研究Code地址:https://github.com/lvgl 中文参考文档(可能部分内容不匹配,仅参考):http://lvgl.100ask.net/8.2/index.html 官方API参考文档地址:https://docs.lvgl.io/master/intro/index.html **注意:LVGL 7.x版本与8.x版本差别很大,建议使用8.x版本**原创 2022-11-01 10:44:39 · 1525 阅读 · 0 评论 -
[Visual C++系列] 1.5 MFC中常用类,宏,函数介绍
1.5 MFC中常用类,宏,函数介绍常用类CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r, int b );原创 2011-08-06 09:47:14 · 861 阅读 · 0 评论 -
[Visual C++系列]2.1 和GUI有关的各种对象
2.1 和GUI有关的各种对象在Windows中有各种GUI对象(不要和C++对象混淆),当你在进行绘图就需要利用这些对象。而各种对象都拥有各种属性,下面分别讲述各种GUI对象和拥有的属性。字体对象CFont用于输出文字时选用不同风格和大小的字体。可选择的风格包括:是原创 2011-08-06 09:52:52 · 799 阅读 · 0 评论 -
[Visual C++系列] 2.2 在窗口中输出文字
2.2 在窗口中输出文字在这里我假定读者已经利用ApplicationWizard生成了一个SDI界面的程序代码。接下来的你只需要在CView派生类的OnDraw成员函数中加入绘图代码就可以了。在这里我需要解释一下OnDraw函数的作用,OnDraw函数会在窗口需要重绘时原创 2011-08-06 10:14:19 · 2686 阅读 · 0 评论 -
[Visual C++系列]2.4 在窗口中绘制设备相关位图,图标,设备无关位图
2.4 在窗口中绘制设备相关位图,图标,设备无关位图在Windows中可以将预先准备好的图像复制到显示区域中,这种内存拷贝执行起来是非常快的。在Windows中提供了两种使用图形拷贝的方法:通过设备相关位图(DDB)和设备无关位图(DIB)。DDB可以用MFC中的CB原创 2011-08-06 10:43:35 · 765 阅读 · 0 评论 -
[Visual C++系列] 2.5 使用各种映射方式
2.5 使用各种映射方式所谓的映射方式简单点讲就是坐标的安排方式,系统默认的映射方式为MM_TEXT即X坐标向右增加,Y坐标向下增加,(0,0)在屏幕左上方,DC中的每一点就是屏幕上的一个象素。也许你会认为这种方式下是最好理解的,但是一个点和象素对应的关系在屏幕上看来是正原创 2011-08-06 10:51:14 · 720 阅读 · 0 评论 -
[Visual C++系列]2.6 多边形和剪贴区域
2.6 多边形和剪贴区域多边形也是一个GDI对象,同样遵守其他GDI对象的规则,只是通常都不将其选入DC中。在MFC中多边形有CRgn表示。多边形用来表示一个不同与矩形的区域,和矩形具有相似的操作。如:检测某点是否在内部,并操作等。此外还得到一个包含此多边形的最小矩形。下原创 2011-08-06 10:54:28 · 718 阅读 · 0 评论 -
[Visual C++系列]3.1 文档 视图 框架窗口间的关系和消息传送规律
3.1 文档 视图 框架窗口间的关系和消息传送规律在MFC中M$引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。(这一结构在MFC中的OLE,ODBC开发时又得到更多的拓展)因此一个完整的应用一般由四个类组成:CWinApp应原创 2011-08-06 10:58:26 · 732 阅读 · 0 评论 -
[Visual C++系列] 3.2 接收用户输入
3.2 接收用户输入在视中接收鼠标输入:鼠标消息是我们常需要处理的消息,消息分为:鼠标移动,按钮按下/松开,双击。利用ClassWizard可以轻松的添加这几种消息映射,下面分别讲解每种消息的处理。WM_MOUSEMOVE对应的函数为OnMouseMove( UI原创 2011-08-06 11:03:45 · 1095 阅读 · 0 评论 -
[Visual C++系列] 3.3 使用菜单
3.3 使用菜单利用菜单接受用户命令是一中很简单的交互方法,同时也是一种很有效的方法。通常菜单作为一中资源存储在文件中,因此我们可以在设计时就利用资源编辑器设计好一个菜单。关于使用VC设计菜单我就不再多讲了,但你在编写菜单时应该尽量在属性对话框的底部提示(Prompt)处原创 2011-08-06 11:11:20 · 1125 阅读 · 0 评论 -
[Visual C++系列]3.4 文档,视,框架之间相互作用
3.4 文档,视,框架之间相互作用一般来说用户的输入/输出基本都是通过视进行,但一些例外的情况下可能需要和框架直接发生作用,而在多视的情况下如何在视之间传递数据。在使用菜单时大家会发现当一个菜单没有进行映射处理时为禁止状态,在多视的情况下菜单的状态和处理映射是和当前活原创 2011-08-06 11:14:34 · 768 阅读 · 0 评论 -
[Visual C++系列]Visual C++/MFC入门教程
[Visual C++系列]Visual C++/MFC入门教程目录 +-- 第一章 VC入门|------ 1.1 如何学好VC|------ 1.2 理解Windows消息机制|------ 1.3 利用Visual C++/MFC开发Windows程原创 2011-08-06 11:18:56 · 1447 阅读 · 0 评论 -
[Visual C++系列]1.4 利用MFC进行开发的通用方法介绍
1.4 利用MFC进行开发的通用方法介绍 以下是我在最初学习VC时所常用的开发思路和方法,希望能对初学VC的朋友有所帮助和启发。1、开发需要读写文件的应用程序并且有简单的输入和输出可以利用单文档视结构。2、开发注重交互的简单应用程序可以使用对话框为基础的窗口,原创 2011-08-06 09:45:23 · 636 阅读 · 0 评论 -
[Visual C++系列]2.3 使用点,刷子,笔进行绘图
2.3 使用点,刷子,笔进行绘图在Windows中画点的方法很简单,只需要调用COLORREF CDC::SetPixel( int x, int y, COLORREF crColor )就可以在指定点画上指定颜色,同时返回原来的颜色。COLORREF CDC::Get原创 2011-08-06 10:35:32 · 1796 阅读 · 0 评论 -
[Visual C++系列] 3.6 MFC中所提供的各种视类介绍
3.6 MFC中所提供的各种视类介绍MFC中提供了丰富的视类供开发者使用,下面对各个类进行介绍:CView类是最基本的视类只支持最基本的操作。CScrollView类提供了滚动的功能,你可以利用void CScrollView::SetScrollSizes( i原创 2011-08-06 11:30:57 · 932 阅读 · 0 评论 -
[Visual C++系列]窗口控件 - 4.5 List Box/Check List Box
4.5 List Box/Check List BoxListBox窗口用来列出一系列的文本,每条文本占一行。创建一个列表窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const原创 2011-08-06 18:48:56 · 889 阅读 · 0 评论 -
[Visual C++系列]3.5 利用序列化进行文件读写
3.5 利用序列化进行文件读写在很多应用中我们需要对数据进行保存,或是从介质上读取数据,这就涉及到文件的操作。我们可以利用各种文件存取方法完成这些工作,但MFC中也提供了一种读写文件的简单方法——“序列化”。序列化机制通过更高层次的接口功能向开发者提供了更利于使用和透明于原创 2011-08-06 11:21:54 · 1209 阅读 · 1 评论 -
[Visual C++系列]窗口控件 - 4.1 Button
4.1 Button按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明按钮的风格。创建按钮:BOOL CButton:原创 2011-08-06 11:36:59 · 1480 阅读 · 0 评论 -
[Visual C++系列]窗口控件 - 4.2 Static Box
4.2 Static Box静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。创建一个窗口可以使用成员函数: BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, C原创 2011-08-06 11:39:24 · 845 阅读 · 0 评论 -
[Visual C++系列]窗口控件 - 4.3 Edit Box
4.3 Edit BoxEdit窗口是用来接收用户输入最常用的一个控件。创建一个输入窗口可以使用成员函数: BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pPa原创 2011-08-06 11:43:15 · 1348 阅读 · 0 评论 -
[Visual C++系列]窗口控件 - 4.4 Scroll Bar
4.4 Scroll BarScroll Bar一般不会单独使用,因为SpinCtrl可以取代滚动条的一部分作用,但是如果你需要自己生成派生窗口,滚动条还是会派上一些用场。创建一个滚动条可以使用成员函数: :BOOL CEdit::Create( LPCTSTR原创 2011-08-06 18:46:44 · 950 阅读 · 0 评论 -
[Visual C++系列]窗口控件 - 4.5 List Box/Check List Box
4.5 List Box/Check List BoxListBox窗口用来列出一系列的文本,每条文本占一行。创建一个列表窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const原创 2011-08-06 18:50:31 · 1368 阅读 · 0 评论 -
[Visual C++系列]窗口控件 - 4.7 Tree Ctrl
4.7 Tree Ctrl树形控件TreeCtrl和下节要讲的列表控件 ListCtrl在系统中大量被使用,例如Windows资源管理器就是一个典型的例子。[Visual C++系列]窗口控件 - 4.7 Tree Ctrl树形控件可以用于树形的结构,其中有一个根接点原创 2011-08-06 19:22:12 · 1800 阅读 · 4 评论 -
[Visual C++系列]窗口控件 - 4.6 Combo Box
4.6 Combo Box组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pPa原创 2011-08-06 18:53:11 · 988 阅读 · 0 评论 -
实习归来
经过10天得大连实习,大三终于结束了,从此以后都需要自己努力了。自己的编程生涯也大约历经了3个春秋,其中辛酸是在不足为外人道也。虽然如此,自己还是爱编程的,之后的100多天,由于要历经考验,虽然会有大把的时间用来学习课本知识,但是也因此有了整块的自己的时间。 自原创 2011-08-01 21:49:27 · 1259 阅读 · 2 评论 -
C学习笔记之基础篇_转义符,ASII码对照表,字符字符串区别,数据类型转换
常用转义字符及其含义原稿在这: http://download.csdn.net/detail/bbdxf/3728092转义字符含义\n回车换行\t横向跳到下一制表位置\v竖向跳格\b退格\r回原创 2011-10-28 10:41:48 · 4072 阅读 · 0 评论 -
C语言学习笔记之基础篇_Format格式完全攻略(格式化字符)
C语言学习笔记之基础篇_Format格式完全攻略(格式化字符)原始文档下载地址: http://download.csdn.net/download/bbdxf/3729987一、 格式输出以printf(fomat,date)为例1、 输出十进制整数u %d:按整数的实际长度输出。u %md:m指的是输出的最小长度,长度小于m的用空格替代原创 2011-10-28 18:00:23 · 4684 阅读 · 1 评论 -
[转](荐)如何学习Visual Studio ?如何学习VC?如何C/C++?
(荐)如何学习Visual Studio ?如何学习VC?如何C/C++?一、VC是什么?学VC是学什么?首先VC是一个软件(IDE集成开发环境)(编译、编辑、调试)C和C++。但C++中的有些特性是不用的,例如I/O流,多态继承WindowsSDK(软件开发工具)VC的灵魂:MFC(微软基础类库)ATL(ActiveX模板类库)其他的SDK,如OpenGL,Dir原创 2012-01-05 22:33:20 · 1704 阅读 · 0 评论 -
【新版】VC中全局变量的使用总结(N种方法,看完就不再疑惑啦!)
全局变量一般这样定义(不是很推荐):1。在一类的.cpp中定义 int myInt;然后再在要用到的地方的.cpp里extern int myInt;这样就可以用了。2。在stdafx.cpp中加入:int myInt;然后在stdafx.h中加入:extern int myInt这样定义以后无论在什么文件中都是可见的.3。比较规范的是,先定义一个Glbs.h,把所原创 2012-02-28 11:23:11 · 1486 阅读 · 0 评论 -
MFC之模态与非模态对话框的创建与销毁
微软指示:非模态对话框需要重载函数OnCanel,并且在这个函数中调用DestroyWindow,并且不能调用基类的OnCancel,因为基类的OnCancel调用了EndDialog这个函数,这个函数是针对模态对话框的。还有一个必须重载的函数就是PostNcDestroy,这也是一个虚函数,通常的非模态对话框是用类的指针,通过 new 动态创建的,这就需要在 PostNcDestroy 函数转载 2012-03-05 22:01:59 · 5414 阅读 · 0 评论 -
[转]MFC 窗口重绘问题,最小化消失的问题解决
在客户区画直线等图形时, 发现当其最小化或者其他窗口遮挡时,出现窗口重绘,而将原来绘制的图形删除,上网上搜索知道,绘制图形的代码必须放置在Ondraw函数中,才能避免重绘时图形消失(因为一直在响应WM_PAINT消息,不断的重绘),但是这样做却只能保存最近的一次绘图,只适用于单幅固定的图形,对于其中有多幅图形就不能这么做了,解决的思路是:考虑到MFC时文档/视图类,视图CView负责数据的显示和修原创 2012-03-06 11:40:05 · 10016 阅读 · 3 评论 -
VC CString,int,string,char*之间的转换
1 CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char转载 2012-03-24 20:05:24 · 674 阅读 · 0 评论 -
getchar()和EOF总结
getchar()和EOF总结大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(SecondEdition)第1.5节的字符输入/输出,被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和EOF的用法。因此,感觉很有必要总结一下,不然,很多琐碎的知识点长时间过后就会淡忘的,只有写下转载 2012-03-24 22:10:28 · 776 阅读 · 0 评论 -
MFC中解决回车和ESC关闭的问题,重载OnOk(),OnCancel()函数的正确做法
本文参考了如下文章:http://msdn.microsoft.com/en-us/library/66b3y2ab(VS.71).aspxhttp://topic.csdn.net/u/20100918/16/5a8bb22b-80bc-4e9f-8392-a3f876e91e05.htmlhttp://blog.csdn.net/zdl1016/article/details/27原创 2012-03-26 15:38:49 · 9833 阅读 · 0 评论 -
GDI GDI+ 应用实例
1.基本概念 GDI在Windows中定义为Graphics Device Interface,即图形设备接口,是Windows API(Application Programming Interface)的一个重要组成部分。它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具体设备的细节,而只需在一个虚拟的环境(即逻辑设备)中进行操作。它的桥梁作用体现在:转载 2012-03-30 10:24:15 · 1413 阅读 · 0 评论 -
近几年学习Visual C++及MFC的一些体会和想法(待完善)
有很多话想说,但想来想去很难将这种感觉表述清楚,留待以后有啥想法再添加吧!写了很多都感觉不满意,删来删去就不剩下多少了,所以干脆就不写了,用图片来表述吧!首先,对于初学者: 这是一个很值得推究和考虑的话题,至少我现在很重视这个方面。现在对于国内出版VC方面的很多作家及出版社都有一种深通恶绝的想法,.....他们为了那点钱,“害了”多少迷茫中的VC初学者啊!出了那么多书,一原创 2012-04-06 15:27:18 · 1695 阅读 · 5 评论