C++
qq_206720162
萌新入行、提前避让
展开
-
MFC使用cef加载web页面
使用cef的3626 X64版本 支持MP4放在了Git上几个注意点1、交互问题(1)c++调用js使用ExecuteJavaScript函数例:CString strInfo = m_strLoginInfo; strInfo.Replace(_T("\""),_T("'")); CString jscall = _T(""); jscall.Format(_T("CppCallJS(\"%s\")"),strInfo); et_cef::ExecuteJavaScript(m原创 2021-10-18 16:32:19 · 574 阅读 · 0 评论 -
MFC窗口接受文件的拖拽功能
(1)在MFC中的CWnd创建出来之后,任何时刻调用CWnd::DragAcceptFiles()该方法。一般是在OnCreate()、OnInitDialog()中调用。CWnd::DragAcceptFiles();(2)让窗口接受WM_DROPFILES事件void CCef_DemonDlg::OnDropFiles( HDROP hDropInfo )这个就是接受到文件后触发回调函数。BEGIN_MESSAGE_MAP(CCef_DemonDlg, CDialog) ON_WM_DROP原创 2021-05-17 18:23:58 · 544 阅读 · 0 评论 -
内存泄漏脚本
@echo off set imagename=InterfaceSvc.exe //应用程序名set pdbpath=E:\Files\System\Desktop\PDB//设置pdb路径,方便打印出详细堆栈信息 setlocal enabledelayedexpansion set currentdir=%~dp0 cd /d "E:\Files\System\Desktop\Tools\windbg两个版本\Debugging Tools for Windows (x原创 2021-05-06 16:37:52 · 261 阅读 · 0 评论 -
mfc读txt文件
//strTxt返回txt文件内容void OnRead(CString &strTxt) { CString strFilter,fileName; strFilter="Text Files(*.txt)|*.txt||"; CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER|OFN_HIDEREADONLY|OFN_ENABLESIZING|OFN_FILEMUSTEXIST,strFilter); if(dlg.DoModal() ==原创 2021-05-06 16:30:53 · 2022 阅读 · 0 评论 -
简单实现回调函数
//回调函数//B.h文件//回调函数参数结构体struct tagCallbackParam {public: bool m_bParam0; int m_nParam1; CString m_szParam2; tagCallbackParam() { m_bParam0 = false; m_nParam1 = 100; m_szParam2 = _T("100")原创 2021-05-06 16:23:52 · 188 阅读 · 0 评论 -
互斥锁
1、在头文件中添加#include <afxmt.h>2、头文件中声明锁CCriticalSection m_criLock;3、锁的使用m_criLock.Lock();...m_criLock.Unlock();原创 2021-04-14 16:15:22 · 61 阅读 · 0 评论 -
MFC快速添加日志
MFC快速添加日志void log(CString strLog){ CFile file; CTime tmNow = CTime::GetCurrentTime(); CString pszFileName = _T(""); pszFileName.Format(_T("C:\\log\\log_%04d%02d%02d.txt"),tmNow.GetYear(),tmNow.GetMonth(),tmNow.GetDay()); file.Open(pszFileName, CFile原创 2021-01-05 11:37:49 · 1001 阅读 · 1 评论 -
如何使用git向GitHub上托管自己的项目
在GitHub上面创建一个代码仓库 create a new repository下载 git 软件并安装配置git1、因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,GitHub需要识别是否是你推送,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送,所以需要配置ssh key。 在用户主目录(C:\Users\Administrator)...转载 2020-03-07 16:01:32 · 167 阅读 · 0 评论 -
C++ 中超类化和子类化
超类化和子类化没有具体的代码,其实是一种编程技巧,在MFC和WTL中可以有不同的实现方法。窗口子类化:原理就是改变一个已创建窗口类的窗口过程函数。通过截获已创建窗口的消息,从而实现监视或修改已创建窗口类的行为属性。可以用来改变或者扩展一个已存在的窗口的行为,而不用重新开发。比如要获得那些预定义控件窗口类(按钮控件、编辑控件、列表控件、下 拉列表控件、静态控件和滚动条控件)的功能而又要修改它们的...原创 2019-12-11 16:50:53 · 303 阅读 · 0 评论 -
C++实现双缓冲
1、在内存中申请缓冲区,创建兼容内存;2、创建位图,并将位图与缓冲区内存相关联起来;3、在兼容内存里绘制;4、将绘制好的位图拷贝到当前设备;5、释放兼容内存。CPoint ptCenter; CRect rect,ellipseRect; GetClientRect(&rect); ptCenter = rect.CenterPoint(); CDC dcMem; //用...原创 2019-12-11 16:38:28 · 750 阅读 · 0 评论 -
C++中string,wstring,CString的基本概念和用法
一.概念 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中.wstring是操作宽字符串的类.C++标准程序库对于string的设计思维就是让他的行为尽可能像基本类型,不会在操作上引起什么麻烦。CString是对string(字符串)和wstring(宽字符串)的一个封装,常用在mfc中.用来解决编码问题的.stri...原创 2019-12-11 16:34:23 · 3833 阅读 · 0 评论 -
http
CString strSrvIP;UINT nSrvPort;CString& strGetCommand;CString strHttpHeader = _T(""); CString strToken = _T("");char logbuff[200] = {0}; string strRet = ""; if (strSrvIP.IsEmpty()) { r...原创 2019-12-11 11:49:04 · 452 阅读 · 0 评论 -
添加接口
typedef BOOL ( WINAPI *_ET_OBJEXPLORER_INIT)(long lApearanceMode);typedef BOOL ( WINAPI *_ET_OBJEXPLORER_CREATEBYUSER)(HWND hParent, int nMode, LPCTSTR szUserCode, HWND *phWnd,CString strSiteViewMode...原创 2019-12-10 16:45:33 · 324 阅读 · 0 评论 -
滚动条ScrollBar
界面控件 - 滚动条ScrollBar(对滚动条消息和鼠标消息结合讲的不错)界面是人机交互的门户,对产品至关重要。在界面开发中只有想不到没有做不到的,有好的想法,当然要尝试着做出来。对滚动条的扩展,现在有很多类是的例子。VS2015的代码编辑是非常强大的,其中有一个功能可以把滚动态变成MinMap,可以通过Options->Text Editor->C/C+±>Scroll ...原创 2019-11-20 12:47:49 · 410 阅读 · 0 评论 -
XML转换工具未解之谜
DOc 到底是什么?内存中一块空间,把XML写入在里面,当XML文件修改时,不用重新写入,可使用内存中的文件修改。拖拽协议如何实现的?当节点的映射关系发生更改时,会发出WM_UPDATETEMPLATE消息,然后会执行XMLTemplate中的消息响应函数OnUpdateTemplateTemplate页面中的两颗树从何而来? `m_sourceXMLTreeCtrl.Create(W...原创 2019-11-19 11:56:57 · 292 阅读 · 0 评论 -
文件及文件夹扫描工具学习之旅
需求:该源码已经实现了扫描文件功能,需实现扫描文件夹的功能刚开始接触时,我感觉实现起来非常简单,因为扫描文件功能都已经实现了,那么离实现扫描文件夹还远吗(确实挺远 的)想法:刚开始我想的是直接复制扫描文件的源码过来进行修改,但不知道为何然后一直中断,就这样搞中断就弄了一天,各种排查寻找原因,当然后面也找到原因了,中断无外乎使用了不该使用的内存。刚开始时都不知道页面上按钮的作用,怎么办呢,一步...原创 2019-11-19 11:56:30 · 178 阅读 · 0 评论 -
Dialog.DoModal失败
Dialog.DoModal返回-1AFX_MAMAGE_STATE(AfxGetStaticModuleState());CTestDlg dlg;int rlt = dlg.DoModal();妈的, 搞半天, 真的烦原创 2019-11-19 11:55:52 · 183 阅读 · 0 评论 -
mysql数据库增删改操作
插入数据insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);insert into user(user_id,name,age) values(1,‘nice’,24);删除记录delete from 表名 [where 条件]更新记录update 表名 set 列名=列的值,列名2=列2的值 [where条件]...原创 2019-05-13 15:52:19 · 136 阅读 · 0 评论 -
OLE实现树形控件(tree contrl)节点拖放
MFC本身的CView类是支持拖放操作的,通过研究CView类的源码,大体知道它的实现原理是这样的:CView类中有一个COleDropTarget类的对象,在视图窗口初始化时,调用COleDropTarget类成员函数Register(),以此在系统中注册该视图窗口为拖放接收窗口。当进行拖放操作的鼠标指针处于视图窗口范围内时,COleDropTarge类会做出反应,它的OnDragEnter...原创 2019-04-12 18:50:44 · 350 阅读 · 0 评论