- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 简单修改对话框背景色
创建画刷 CBrush m_brush;初始化 画刷 m_brush.CreateSolidBrush(RGB(255,255,255)); //白色画刷重载OnCtlColor:增加代码pDc->SetBkMode(TRANSPARENT);//让有字体的控件透明背景HBRUSH CSplashDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT n
2013-11-23 11:07:28 129
原创 CDI+画图
VS2008 基于对话框的工程项目环境初始化1、在“stdafx.h”加入头文件#include #pragma comment(lib,"gdiplus.lib")using namespace Gdiplus;2、在XXApp类的1)头文件:增加变量:ULONG_PTR m_gdiplusToken;2)源文件:InitInstance()函数增加初
2013-08-26 09:37:48 243
原创 右键弹出菜单
1、在鼠标右键按下时弹出菜单//右键按下void CScreenCell::OnMouseRClick(CPoint pt){ if (m_CellRect.PtInRect(pt) && m_bSelect) { CMenu pPopup; if (pPopup.CreatePopupMenu()) { if (m_bPlay) {
2013-08-16 09:19:56 223
原创 备忘
假设我们有两个类Apple和Orange,并有一个期望接受一个Orange类型的参数的函数:void DoSomethingWithOrange(someinputs);DonSomething
2013-07-30 23:44:31 60
原创 VS调试java调用的OCX控件
1、VS2008开发工具2、OCX控件3、java调用OCX控件 现在要用vs2008调试OCX控件,直接在运行OCX库的源码的vs项目里进行配置
2013-06-25 11:26:11 199
原创 ON_MESSAGE--用户自定义消息宏
ON_MESSAGE是MFC里面的一个自定义消息映射宏,它的作用是绑定一个自定义的消息和该消息的响应函数。原型:ON_MESSAGE(message, memberFxn ) 参数:message:消息的ID。memberFxn :映射message的消息函数,该函数的类型必须是以下类型的afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM)。备
2013-03-06 22:42:08 205
原创 串口参数设置
//波特率nIndex = m_ctlBaudRate.InsertString(0, _T("115200"));m_ctlBaudRate.SetItemData(nIndex, 115200);nIndex = m_ctlBaudRate.InsertString(0, _T("19200"));m_ctlBaudRate.SetItemData(nIndex, 19200)
2013-03-02 14:57:30 170
原创 CComBox控件使用方法
CComBox控件在MFC编程经常使用到。主要涉及到几个功能:1、值的插入,这通常会使用两种方法1)int AddString(LPCTSTR lpszString) 使用这个方法插入值不大好控制2)int InsertString(int nIndex, LPCTSTR lpszString) 可以控制插入值的按照你的顺序。2、int Set
2013-03-02 10:08:12 571
原创 单例模式-摘自百度
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。//// Singleton模板#ifndef _SINGLETON_H_#define _SINGLETON_H_
2013-02-25 23:58:35 113
原创 简单解析字符串方法
在开发过程中通常都要组合及解析字符串。有时候不知道字符串的实际长度,只能使用循环去读取。比如:字符串格式是"1_1_1#_3_3_3#",以“#”为每一个字符串节点。string szSplitNum = "1_1_1#_3_3_3#"; int iEnd = -1; int iBeg = 0; while(true) { iEnd = szSplitNum.fi
2013-02-02 15:03:43 186
原创 vs解决WIN7系统的软件需要管理员权限才能打开的问题
最近在做项目的移植,把XP下的软件兼容到win7下。这时出现的问题往往是在win7系统下打开软件会提醒报错,改用管理员权限打开可以正常使用。这里手动在快捷方式右键属性修改为管理员权限运行也是可以的,但是测试人员是不会给你通过的,必须是在发出版本的打包之前解决这个问题,而不是交给用户去手动修改。 解决这个问题有两种办法: 1、改用系统默认账户登录 计
2012-09-21 11:13:09 758
原创 C#封装结构体数组传送到C++
上一篇说到C#如何向C++动态库获取结构体数组,现在说说C#如何向C++动态库发送结构体数组数据。C++结构体数组声明如下:struct DATA{int ID;int iNum;char* szName;};C++接口声明实现如下:void SendDataList(DATA* pData, int iCount){Vector DataList;
2012-08-11 21:48:40 533
原创 C#与C++结构体数组转换
在C#调用C++动态库时,通常需要从获取C++动态库获取数据,比如通过二级指针。C++结构体如下:struct DATA{int ID;int iNum;char* szName;};C++接口声明如下:void GetDataList(DATA** pDate, int &iCount);C#结构体声明如下:public struct DAT
2012-08-11 21:37:15 733
原创 C字符串处理:组合及拆分
1合并字符串将多个字符、字符串或者整数组合成字符串。【例子】winsize 0 0 1024 768 【1.1】采用sprintf函数:单字节格式化函数,在UNICODE环境下进行格式化字符串时,可以先将格式化之后的字符串存入到char类型的数组里,再将其转化成双字节。 CStringstrTemp,m_szStr; //将字符串组合,放进char类
2012-08-06 00:45:42 1203
原创 MFC鼠标拖动无标题栏窗口事件实现最简单方法
有时候我们将窗口的标题栏去掉,那么无法捕捉到鼠标的消息,窗口是无法移动。一般的方法比较繁琐。以下介绍两个函数,实现窗口移动。ReleaseCapture();SendMessage(0xA1, 0x2, 0);直接在窗口的鼠标按下事件里实现就可以了。
2012-08-06 00:42:35 323
原创 MySQL数据库创建及脚本创建
关于MySQL的C++/MFC编程1项目环境搭建1、 使用VS2008编译工具2、 安装mysql-essential-5.1.47-win32.msi3、 安装mysql-connector-odbc-5.1.7-win32.msi4、 安装navicat8lite_mysql_cs.exe2 MySQL数据创建1.1数据脚本制作下面创建数据库的表:分别是
2012-08-05 23:34:09 280
原创 c#调用c++DLL:传递给系统调用的数据区域太小.(异常来自 HRESULT:0x8007007A)
在C#代码调用C++DLL库,结构体进行转换时报错:传递给系统调用的数据区域太小.(异常来自 HRESULT:0x8007007A)。原因是结构体使用了字符串数组时,如果填写的字符串包含中文就会出现这种错误。c++结构体如下:typedef struct STUDENT{ int iStudentID; char szName[100]; int iAge; int i
2012-08-03 00:14:43 1614 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人