自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 MFC 用对话框VMR_Capture类实现图像采集,抓拍

1.新建一个对话框取名摄像头2.在其中加入一个picture control控件,一个comb控件,一个button按钮。做成下图给picture control控件设置控制变量命名为my_device        comb控件设置控制变量命名为mylist。3.准备好VMR_Capture.h文件和VMR_Capture.cpp文件,分别加入到头文件和源文件中

2016-11-19 14:59:23 981

原创 C++11-17特性自用

以下我想实现一个等级阶段的结构适配。

2023-07-17 15:11:05 141

原创 std::function相关用法

类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。这是比较官方的解释,最近在学习std::function的用法,看了一些示例后,记录一些自己的用法和理解。

2023-02-08 18:50:35 243

原创 工厂模式精简实现

记录一个工厂模式简单的实现,其中COrder是最基类。#pragma oncestruct IFactory{ virtual COrder* CreateOrder() = 0;};template<typename T>class CFactoryOrder :public IFactory{public: static IFactory* GetInstance() { static CFactoryOrder FactoryOrder; retu..

2022-05-05 21:13:44 394

原创 Bitmap的遍历

最近做需求通过win32sdk编程从系统拿Icon图,发现有些程序是没有256标准的图,但是系统会给出其他规格的图,比如128/48/32,但是整体是一个256*256的白图,只不过有效图在左上角。大概是下图黑框这样,我需要区分出这个图是不是这样的,所以对Bitmap做了256规格的遍历,也很形象的让人理解图的像素分布这里记录Bitmap像素的遍历方法#include <GdiPlus.h>#define EXTRALARGEICON_ITEM_WIDTH 256bool

2021-12-17 20:11:59 429

原创 线程间通讯实例

简单实现了线程通讯,记录下,直接上代码。发送线程:#define MY_SHELLMENU_MSG WM_USER+200int iCmd=0,iMinID=0;PostThreadMessage(nThreadID, MY_SHELLMENU_MSG, (WPARAM)iCmd, (LPARAM)iMinID);1.上面的线程id需要自己获取,你要发给哪个线程就是了。2.消息是自定义的3.icmd和iMinID可以是任意类型接收线程:while (true)

2021-09-28 21:26:40 103

原创 ListView控件的重绘相关

最近在做关于C++ ListView控件重绘相关的工作,记录一下重要的重绘逻辑这个先解释下它在不同框架(也不能这么说),不同地方的不同MFC:就是CListContrl类,这个封装的很好,做起来相对简单COM:对应的用法都在CommCtrl里面 以 ListView_开头,下面说的主要是COM这个编程相关,不过原理都是一样的直接上代码 case WM_NOTIFY: if (reinterpret_cast<LPNMHDR>(lParam)->hwnd

2021-09-06 12:09:18 439

原创 VC++ 关于VC6.0编译环境的数据断点调试

由于VC6.0这个编译环境比较老了,但是有好多老项目是用的,而且vc6转高版本,05,08,10,会有多多少少大大小小的问题。比如VC6.0是可以这样写的#define MAX_INDEX_NUM 10 VOID CSDN::Function(){ for(int i=0;i<MAX_INDEX_NUM;i++) { //do something } for(i=0;i<MAX_INDEX_NUM;i++) {

2021-03-29 20:59:20 924

原创 VC++ 使用StackWalker类打印当前运行堆栈信息

意义:作用在程序log模块或找一些模糊不清的bug,可以精确定位堆栈的运行。之前一直找这个找不到,从git上找到了StackWalker类分享。StackWalker.cpp#include "StackWalker.h"#include <stdio.h>#include <stdlib.h>#include <tchar.h>#include <windows.h>#pragma comment(lib, "version....

2021-03-25 13:01:04 798

原创 ubuntu 16.04 配置java环境变量

1. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html根据系统环境选择下载JavaSE   我这里是 linux x64  tar2.解压     解压后  mv  jdk1.8.0_144  /opt/Java/jdk1.8.0_1443.   vi

2017-10-09 14:16:19 400

原创 python pandas a+

import pandas as pdimport numpy as np#print data.__len__()data=pd.read_csv('2.csv',header=None)data1=data.valuesprint np.shape(data1)[0] #row_countprint type(data1) #typeadd_row=['a'

2017-09-11 14:42:47 368

原创 python mysql

db=mysql.connect("localhost", user, pwd, database) cursor=db.cursor() try: cursor.execute(sql_str) db.commit() db.close() return True except: return

2017-09-08 17:03:07 216

原创 python pandas

import pandas as pddata=pd.read_csv(csv_path,header=None)print data.values #print currentdata1=data.valuesdata1[1,6]='aaa'print data1 #print againpd.DataFrame(data1).to_csv(saveto_csv_path,head

2017-09-07 09:52:41 353

原创 pugixml使用

头文件pugixml.hpp链接库pugixml pugi::xml_document doc; /*if(!doc.load_buffer("",0)) pugi::xml_document doc; if (!doc.load_file(“文件路径”, pugi::parse_default, pugi::encoding_utf8))//加载xml文件,

2017-08-09 17:31:36 3322

原创 libxls库的使用

头文件xls.h链接库xlsreader xlsWorkBook *pWb=NULL;//文件 xlsWorkSheet *pWs; //Sheet xlsRow *row_current;//提取行 int r,c; const char b[]="UTF-8";//编码方式 pWb = xls_open("文件路径",b);//这里如果打不开 ,在路径正确的同时,

2017-08-09 17:17:00 6345 2

原创 zbar+opencv配合实现条码识别

1.安装opencv2.安装zbar3.注意程序中链接库配置#include #include #include #include #include #include using namespace std;using namespace cv;using namespace zbar;int main(int argc, char **argv) { I

2017-08-02 16:08:39 2692 2

原创 vim 配置.vimrc

文件写入" This line should not be removed as it ensures that various options are" properly set to work with the Vim-related packages available in Debian." Uncomment the next line to make Vim more

2017-08-02 15:57:01 256

原创 MFC 文件操作

1.压缩HZIP hz = CreateZip("c:\\simple1.zip",0); ZipAdd(hz,"znsimple.bmp", "c:\\simple.bmp"); ZipAdd(hz,"znsimple.txt", "c:\\simple.txt"); CloseZip(hz);2.解压缩HZIP hz = OpenZip("c:\\stuff.zip",

2016-12-29 11:23:19 605

原创 MFC 实现FTP服务器上传下载

事先搭建FTP服务器,上传下载端口新建MFC基于对话框程序,添加上传下载按钮。上传按钮CInternetSession * pInternetSession = NULL; CFtpConnection* pFtpConnection = NULL; //建立连接 pInternetSession = new CInternetSession(AfxGetApp

2016-12-21 15:44:51 8777

原创 md5加密算法

.cpp文件#include "stdafx.h"#include "MD5Crypt.h"#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__;#define new DEBUG_NEW#endif#define S11 7#define S12 12#define S13 17#define S1

2016-12-20 16:51:48 365

原创 MFC ado操作mdb数据库

1.新建基于对话框应用程序找到stdafx.h文件 在末尾加入#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")2.找到对话框app类初始化函数InitInstance()其中加入::CoInitialize(NULL);::CoUnin

2016-12-19 11:48:13 3349

原创 MFC copydata实现两个进程间信息传递。

1.新建Send基于对话框工程。添加按钮,标题改为“发送”。2.找到对话框头文件,定义结构体。typedef struct{ char Name[20]; UINT Age;}Student;3.新建Receive基于对话框工程。找到对话框头文件。定义同样的结构体typedef struct{ char Name[20]; UINT Age;}Student;4.双

2016-12-09 13:40:42 1028

原创 MFC 动态链接库的生成调用。

1.新建MFC DLL程序。2.在项目中添加.CPP文件 名字随意。 我的是txt在txt.cpp中写入extern "C" __declspec(dllexport) void button1(void){点击按钮要做的事。}3.右击txt.cpp点编译,编译成功就行。4.在自己的DLL项目Debug文件夹中找到TxtDll.lib和TxtDll.dll。复制粘贴到 新的对

2016-12-08 15:50:11 1195

原创 MFC 对话框 关于exe文件绝对路径的获取,截获。

1.获取exe文件的绝对路径TCHAR pszFileName[MAX_PATH]; GetModuleFileName(NULL,pszFileName,MAX_PATH); CString psFileName; psFileName=pszFileName;2.把*.exe去掉改成另外的格式名字。psFileName=psFileName.Left(psFileName.R

2016-12-07 17:13:37 439

原创 MFC对话框实现txt文件读写,及时间差判断

1.MFC对话框加两个按钮,一个写入,一个读取。双击写入按钮。 char* pszFileName="C:\\Users\\Administrator\\Desktop\\xierutxt\\Debug\\myfile.txt";//新建文件路径 CStdioFile myFile; CString str; //获取系统时间    CTime tm; tm=CTime::Get

2016-12-07 13:51:17 1981

原创 关于二维码。

官网各版本:http://www.qrcode.com/zh/about/version.html自己拓展版本。纠错类型自己选择更准确。int RS_BLOCK_TABLE[78][6] = { // L =1 // M =0 // Q =3 // H =2 // 1 {1, 26, 19,0,0,0}, {1, 26, 16,0,0,0}, {1

2016-12-03 11:02:02 324

原创 MFC 如何使用线程函数。

1.新建对话框程序(假如你的工程名叫Child),在public中定义线程函数static UINT Thread1(void *pArg);2.在.cpp中写线程函数(你希望它做什么,一般用作循环,你的对话框运行是主线程,它是子线程,两者互不干扰让程序更流畅)UINT CChildDlg::Thread1(void *pArg) { CChildDlg *dlg1=(CChildD

2016-12-03 10:58:58 1310

原创 MFC对话框 picture控件添加位图,位图拉伸,适应picture

1.事先准备好位图。一定要位图。位图。2.在对话框中添加picture控件,设置type为bitmap,将其ID改为IDC_STATIC1(不改不行)。然后为picture添加控制变量PT1。3.在.cpp中找到onpaint()函数加入如下代码。 CDC dcMemory1; CBitmap wtj_bitmap1; BITMAP bmInfo1; CDC *pDC=PT1.G

2016-11-25 11:55:52 3297

原创 MFC CBitmapButton类的应用

最近遇到了给按钮设置样式的问题。我们都知道在我们用过的程序中,按钮是个很神奇的东西。有的按钮表面是这种样式,鼠标指上去就换一种样式,点下去是一种样式,点过后又是一种样式。其实,用CBitmapButton类完全可以实现。现在我们要实现一个效果,就是按钮显示,按钮按下时(鼠标别松),鼠标指向按钮,点击后失效。四种样式。IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP5,I

2016-11-25 11:02:13 765

原创 MFC 主对话框最小化到托盘,托盘点击还原主对话框。

1.将主对话框资源属性Minimize Box设置为true,这个属性显示对话框的最小化按钮。2.最小化到托盘。(1)首先要了解,你任务栏右下角的托盘都是图标,所以最小化到托盘建议添加一个Icon资源。(2)到托盘的函数需要自己重构。先宏定义#define WM_SHOWTASK WM_USER+1在protected中添加函数LRESULT OnShowTask(WPAR

2016-11-22 11:33:08 2238 1

原创 MFC实现子对话框间切换。

1.新建MFC工程zidlg,添加四个对话框资源,分别为它们新建类CChildDlg1,CChildDlg2,CChildDlg3,CChildDlg4。设置每个对话框的style为child型。2.在zidlg头文件中加入四个类的头文件,并为他们添加类的对象 dlg1,dlg2,dlg3,dlg4。3.在主对话框中添加四个button(分别控制每个对话框的调出),为它们设置控制变量b

2016-11-21 13:40:04 6713

原创 MFC 对话框 运用mysql数据库 制作登录界面,记住密码功能

首先MFC连接mysql数据库的配置百度配好,这里不再解释。注意x64和x32配置时是有区别的。x64的系统libmysqld.dll文件要放到工程文件X64\DEBUG中才能配置好数据库连接。1.新建MFC工程 命名为登录界面。在资源视图添加对话框资源IDD_DIALOG1给该对话框定义一个dlg类2.打开该对话框资源加入控件做成下图3.打开dlg.h文件在pub

2016-11-19 15:47:35 5021 3

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除