随笔分类 -  c/c++/mfc/QT

摘要:本篇文章全部源自作者的亲身经历,不是官网随便搬来的。 Qt https://www.qt.io/​ 几乎是C++领域最流行的跨平台桌面端软件开发框架了, 这个框架是两个挪威人在1995年创建的,发展至今可以说历史相当悠久,稳定性也很有保障。 很多大公司都在用它做界面比如金山的WPS。 它内置了自绘引 阅读全文
posted @ 2022-05-26 21:49 liulun 阅读(9955) 评论(41) 推荐(78) 编辑
摘要:这个问题涉及到很多知识,而且要想把这个Runtime做好很绕。 下面我就说一下我的思路:(以下内容以Windows平台为基础,Mac平台和Linux平台还得去调查一下,才能确定是否可行) 首先,我们先区分三类用户: Runtime建设者(就是我们) Runtime使用者(就是使用Runtime的开发 阅读全文
posted @ 2021-12-24 08:48 liulun 阅读(1408) 评论(0) 推荐(1) 编辑
摘要:有好几个公众号发文说“微软要放弃Electron了”,实际情况是微软旗下的Teams产品打算把Electron框架换成WebView2而已。接下来我就聊一下这个事情: 微软不会放弃Electron 第一:Electron是GitHub的产品,GitHub是微软的子公司,WebView2是Edge团队 阅读全文
posted @ 2021-12-23 08:25 liulun 阅读(3831) 评论(0) 推荐(1) 编辑
摘要:这篇文章包含了这个领域的很多开源项目的介绍,还有我多年来的心血和汗水 去年夏天的时候,我用QT做了一个小工具 后来还用QT做了流程设计器 我把程序分享给飞扬青云之后,他甚至搞出来一套QT的皮肤来 说实在的,QT确实挺强大的, 如果你有一个项目,需要跨平台GUI开发,你又有一个C++团队的话, 那么做 阅读全文
posted @ 2015-09-19 15:46 liulun 阅读(9337) 评论(26) 推荐(13) 编辑
摘要:一: 先来看一下界面的截图: 说明: 拖动节点的时候,与该节点相关的箭头连线也会跟着调整; 用户可以使用鼠标从一个节点拖出一个箭头到另一个节点(鼠标在空白区域点击一下,拖出的箭头消失) 这三个图标,手型图标处于选中状态的时候,节点可以拖动, 箭头图标处于选中状态的时候,可以使用鼠标绘制连线箭头 最后 阅读全文
posted @ 2014-07-09 10:03 liulun 阅读(14730) 评论(13) 推荐(25) 编辑
摘要:为了使用简单,需要先写一个单件类,头文件的代码如下:其中静态方法Instance保证IconHelper的实例全局唯一(注意构造函数已经私有化了)#ifndefICONHELPER_H#defineICONHELPER_H#include#include#include#include#includ... 阅读全文
posted @ 2014-06-19 20:36 liulun 阅读(7760) 评论(5) 推荐(2) 编辑
摘要:写在前面: 1.第一版的代码还有些烂,等功能开发齐全了,做一次重构,再慢慢分享代码 2.邮箱功能、自动升级功能还没有做,笔记功能和备忘功能是好用的,大家如果不嫌弃,可以先用起来 3.笔记功能目前还不能直接贴图或贴附件到编辑器里去,我后续会把这个功能加上去 4.用的是qt5.3+sqlite 3 5. 阅读全文
posted @ 2014-06-07 19:54 liulun 阅读(14516) 评论(21) 推荐(10) 编辑
摘要:第一步:下载CEF到这里下载最新版本的CEFhttp://cefbuilds.com/下载解压之后,大概会看到如下图所示的文件cefclient:是一个比较复杂的示例代码cefsimple:是一个简单的示例代码Debug:是用于调试的库include:是一系列的头文件libcef_dll:里面的代码... 阅读全文
posted @ 2014-04-22 19:02 liulun 阅读(29520) 评论(5) 推荐(4) 编辑
摘要:首先:gaclib的官网是http://www.gaclib.net/需要了解更多信息的请自己去官网,我也是刚刚研究第一步下载gaclib的源码这些文件是运行程序所必须的第二步用VS2013创建一个空项目,并把字符集设置成unicode第三步加入bigobj的编译器选项第四步把第一步中指出的文件拷贝到项目中第五步修改预编译头,把上一步中的头文件加入预编译头文件列表中第五步新建一个main.cpp,输入以下代码#include "GacUI.h"#include int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrev 阅读全文
posted @ 2014-03-16 10:56 liulun 阅读(4045) 评论(4) 推荐(2) 编辑
摘要:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \&q 阅读全文
posted @ 2013-12-05 13:41 liulun 阅读(1015) 评论(0) 推荐(0) 编辑
摘要:一:源起 1.何为CB/S的应用程序 C/S结构的应用程序,是客户端/服务端形式的应用程序,这种应用程序要在客户电脑上安装一个程序,客户使用这个程序与服务端通信,完成一定的操作。 B/S结构的应用程序,是浏览器/服务端形式的应用程序,这种应用程序不用在客户端部署任何东西,客户只需要通过浏览器与服务端 阅读全文
posted @ 2013-11-20 11:13 liulun 阅读(14327) 评论(22) 推荐(6) 编辑
摘要:第一步:KSDLL2.idl文件中 dispinterface _DKSDLL2 { properties: methods: [id(1)] void CheckIt(); [id(2)] BSTR GetIt(); };第二步:KSDLL2Ctrl.h文件中protected: void CheckIt(void); BSTR GetIt();第三步:KSDLL2Ctrl.cpp文件中// 调度映射BEGIN_DISPATCH_MAP(CKSDLL2Ctrl, COleControl) DISP_FUNCTION_ID(CKSDLL2Ctrl, "CheckIt", d 阅读全文
posted @ 2013-01-04 16:56 liulun 阅读(6818) 评论(2) 推荐(1) 编辑
摘要:索引DotNet4应用程序打包工具->升级版【三】宿主程序分析+全部源码下载DotNet4应用程序打包工具->升级版【二】安装工具分析DotNet4应用程序打包工具(把DotNet4安装程序打包进你的应用程序;WINAPI开发,无dotNet环境也可顺利执行)【一】整体思路废话少说入口函数入口函数是所有逻辑的集合体int WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nCmdShow){ int result; LPCTSTR netName = ".net4.exe" 阅读全文
posted @ 2011-12-22 22:02 liulun 阅读(4178) 评论(9) 推荐(24) 编辑
摘要:在本系列的上一篇中,我们给出了这个工具的具体的思路。得到了很多朋友的反馈!综合朋友的意见,在没有改变工具原理的基础上我对这个程序做了升级如下图:如你所见,现在这个打包工具可以打包dotNet2.0 3.5 4乃至所有在注册表中添加过注册表项的应用程序下面我们就开始分析安装工具(也就是上面你看到的那个图片)--------------------------入口函数:int WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nCmdShow){ DialogBox(hInstance,MAKEINTRE. 阅读全文
posted @ 2011-12-19 07:23 liulun 阅读(2801) 评论(13) 推荐(15) 编辑
摘要:先说废话很多朋友对我写的这个系列的第五篇比较感兴趣:http://www.cnblogs.com/liulun/archive/2011/12/08/2280110.html因为我承诺第五篇就公布源码了,但是与第五篇相关的代码我还没有完成,现在又花了一个周末的时间来写这篇文章原谅我吧~(如果你觉得这篇文章更有吸引力的话~那另当别论)索引:DotNet4应用程序打包工具->升级版【三】宿主程序分析+全部源码下载DotNet4应用程序打包工具->升级版【二】安装工具分析DotNet4应用程序打包工具(把DotNet4安装程序打包进你的应用程序;WINAPI开发,无dotNet环境也可顺 阅读全文
posted @ 2011-12-12 02:27 liulun 阅读(9371) 评论(232) 推荐(111) 编辑
摘要:#include <afxwin.h>//必须加载此文件,该文件中定义了所有MFC相关的类#include "resource.h"class MyFrame:public CFrameWnd{private: CMenu MainMenu,*SysMenu,*PopMenu,*SubMenu; COLORREF color;public: MyFrame() { Create(NU... 阅读全文
posted @ 2010-07-04 20:14 liulun 阅读(722) 评论(0) 推荐(0) 编辑
摘要:#include <afxwin.h>#include "resource.h"#include <afxtempl.h> //定义模板类的头文件class MyDocument : public CDocument{public: CArray<CPoint,CPoint &> pArray;//<保存的数据类型,读取保存数据类型的返回值>... 阅读全文
posted @ 2010-06-29 21:12 liulun 阅读(574) 评论(0) 推荐(0) 编辑
摘要:#include <afxwin.h>#include "resource.h"class MyDocument : public CDocument{ DECLARE_DYNCREATE(MyDocument)//声明run-time类};IMPLEMENT_DYNCREATE(MyDocument,CDocument)//声明MyDocument为run-time类class My... 阅读全文
posted @ 2010-06-28 21:56 liulun 阅读(299) 评论(0) 推荐(0) 编辑
摘要:#include <afxwin.h>#include "resource.h"class MyFrame:public CFrameWnd{private: CMenu *FMenu;public: MyFrame() { Create(NULL,"Hello MFC");//建立窗口 FMenu = new CMenu;//产生菜单 FMenu->LoadMenu(ID... 阅读全文
posted @ 2010-06-28 21:32 liulun 阅读(420) 评论(5) 推荐(0) 编辑
摘要:#include <afxwin.h>//编写窗口程序时,必须加载此文件,该文件中定义了所有的MFC类class MyApp:public CWinApp//以继承的方式借用MFC的类{public:BOOL InitInstance()//程序入口点{CFrameWnd *Frame = new CFrameWnd();m_pMainWnd = Frame;//窗口框架对象Frame... 阅读全文
posted @ 2010-06-28 21:16 liulun 阅读(473) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示