自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(25)
  • 收藏
  • 关注

原创 MFC 各类字符与CString转换

typedef unsigned char uBit8;typedef char Bit8; typedef unsigned short uBit16;typedef short Bit16; typedef unsigned long uBit32; typedef long Bit32; typedef long long Bit64; typedef floa

2016-11-26 17:06:42 244

原创 MFC,创建DLL库

HkComDll.h文件#ifndef _HK_COM_DLL_H#define _HK_COM_DLL_H#define HKCOM_API __declspec(dllimport)#include "UIN_SysApi.h"#include "UIN_CrdApi.h"#include "UIN_AxisMotorApi.h"#include "UIN_RegApi.h

2016-11-26 14:04:51 116

原创 第三章 需求与设计评审

产品需求评审是为了: 保证系统需求在市场需求文档 或 产品需求文档及相关的文档中无歧义的描述。不一致,遗漏和错误将会被审查出来并得到改正。评审的重要性:结果显示,产品的缺陷出现最多的地方是产品需求规格说明书,而不是程序代码。评审: 技术评审 (对产品各阶段的成果进行评估,以确保需求规格说明书,设计文档,测试计划和用例等之间保持一致,并得到严格的执行)

2016-09-27 21:44:20 411

原创 MFC程序启动执行流程

MFC执行流程。_tWinMain(WinMain的别名,用define替换的)-》AfxWinMain->初始化线程,调用InitInstance初始化窗口,调用Run函数进入消息循环。学过PE文件格式,就明白,程序在进入WinMain之前要做很多事情,比如初始Dos头,分配函数表,初始化全局变量,之后才进入程序入口(WinMain)MFC对WindowsAPI进行了

2016-05-04 09:29:56 562

原创 对话框内画横线DrawIcon

void CNcEliteIIDlg::OnPaint(){if (IsIconic()){CPaintDC dc(this); // 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0);// 使图标在工作区矩形中居中int cxIcon = Get

2016-04-23 13:48:14 179

原创 只修改CFile文件中的一行

修改的是最后一行:void CTest1Dlg::OnButton1() { // TODO: Add your control notification handler code here CFile file; char *filemodule = "d:\\a.csv"; CFileException except; char cBuffer[ 100 ] = ""; CS

2016-04-22 16:45:24 241

原创 CFile::Flush()详解

file.Flush();MSDN说是将缓存的内容写入文件。一定要加,各种实验,包括多线程操作同一个文件等等,都证明了,这东西少不了。Flush是将缓冲区的内容写入文件,并清空。缓冲区是4k的内容,够4k了,就会自动写入文件,不够的话就需要flush一下,如果不flush的话,文件的最后有可能会少一些内容flush()的作用是强制将缓冲区的数据写入磁盘,只是为了确保

2016-04-22 16:43:24 1500

原创 MFC CFileDialog dlg文件夹 以及浏览文件夹操作

一.打开文件夹 CFileDialog dlg(TRUE,_T("txt"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("(*.txt)|*.txt||")); if(dlg.DoModal() == IDOK) { strPath = dlg.GetPathName();//获取文件全路径 } CString strFileN

2016-04-21 09:45:07 1131

原创 程序从WIN平台移植到wince平台

我用的是VS2008一.首先需要装wince的SDK,WINCE6.0_CHS_SDK.msi(这个是我网上找的WINCE6.0的SDK) 下载地址:http://down.51cto.com/data/961457二.安装WINCE6.0SDK方法:想使用Windows CE6.0模拟器进行程序调试,就下载了个WinCE 6.0的SDK进行安装,但是安装过程中一直都会报错后失败。

2016-04-20 14:32:24 328

原创 PreTranslateMessage 解决MFC 模态或非模态对话框对按键消息不响应

1.在头文件中加 public: virtual BOOL PreTranslateMessage(MSG* pMsg);2.然后在cpp 文件中重写BOOL CNcEliteIIDlg::PreTranslateMessage(MSG* pMsg){ if (pMsg->message == WM_KEYDOWN) {//按键按下消息 m_pSu

2016-04-19 20:49:45 574

原创 类成员函数指针详解

C++指向函数的指针定义方式为:返回类型 (*指针名)(函数参数列表),例如 void (*p)(int)是指向一个返回值为void 参数为int类型的函数。而若想定义一个指向类成员函数的函数指针该怎么定义呢?对成员函数指针的使用。(1)非静态成员函数定义方式:返回类型 (类名::*指针名)(函数参数列表)例如void (A::*p)(int)是一个指向A类中成员函

2016-04-18 21:37:44 501

原创 VS2008 MFC文件夹查找特定文件

m_ctrFilePath.GetWindowText(strFileName);//获取文件路径 if (strFileName == _T(""))//如果路径为空,则查找默认路径下的文件 { strFileName = m_Data_strUpdataFilePath;//获取默认路径 strFileName += _T("\\"); strFileName += _T(

2016-04-13 21:01:33 189

原创 CString 16进制 转 int 类型

int CControllerStatusDlg::HexToDem(CString str){ int dem=0; for(int i=0;i<str.GetLength();i++) { dem=dem*16; if((str[i]='0')) //0~9之间的字符 dem+=str[i]-'0'; else if((str[i]='A')) //

2015-11-13 20:08:43 274

原创 stm32f10x_it.c

#include "stm32f10x_it.h"extern u16 g_uTimerCount;extern u16 g_uMonitorTimer;extern u16 g_uDownloadTimer;void TIM1_UP_IRQHandler(void)  {        //GPIOA->BSRR = GPIO_Pin_4;    g_

2015-09-30 15:03:50 282

原创 TmLedKeyData.h

/* Copyright (c) 2015, 东莞华科精机有限公司 All rights reserved.文件名称:摘    要:运行环境:IAR6.3修改描述:当前版本:1.0 修改作者: 修改了内容:修改日期: 原 作 者:完成日期:2015年9月15日 */

2015-09-30 15:02:56 147

原创 nvic_conf.h

#include "nvic_conf.h"void nvic_conf(void){    NVIC_InitTypeDef NVIC_InitStructure;    NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);       //2 bits for pre-emption priority,2 bits f

2015-09-30 15:00:33 80

原创 TmLedKeyData.c

#include "stm32f10x_it.h"extern u16 g_uTimerCount;extern u16 g_uMonitorTimer;extern u16 g_uDownloadTimer;void TIM1_UP_IRQHandler(void)  {        //GPIOA->BSRR = GPIO_Pin_4;    g_

2015-09-30 14:58:09 87

原创 C++/MFC 工具介绍

开发工具 一般是都是VS08  10  12 13 插件一般是 Visual AssistX代码格式化工具 一般是 FormatX如果希望查看大规模代码的工具 可以用source insight。不过这个linux开发的最常用。还有就是内存泄露检测 visual leak detector

2015-07-10 09:43:06 220

原创 C++/MFC 句柄

GetSafeHwnd()和GetSafeHandle()的主要区别:1.使用者不同:(1)窗体使用:GetSafeHwnd()用于获取窗体的安全句柄(即HWND),有了HWND我们就可以方便的对HWND指向的窗体进行所需的操作了;(2)GDI对象使用:GetSafeHandle(),用于获取GDI对象的句柄。注意:在使用指针时强烈建议这

2015-07-10 09:32:24 293

原创 重写、覆盖、重载、隐藏、多态几个概念的区别分析

override->重写(=覆盖)、overload->重载、polymorphism -> 多态 override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。成员函数的重载(overload)、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。 1   重载与覆盖

2015-07-09 10:34:41 188

转载 C++的虚函数简单介绍

//C++中的虚函数的作用主要是实现了多态的机制。关于多态,//简而言之就是用父类型别的指针指向其子类的实例,//然后通过父类的指针调用实际子类的成员函数  //每个类都维护着一张虚函数表,//调用虚函数时查看对象是那个类,然后查表 //基类可以使用为纯虚函数(virtual void print()=0),//基类就是抽

2015-07-09 09:50:54 198

原创 虚函数探讨

虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行

2015-07-09 09:35:38 174

原创 PDFLIB打印PDF,能输出中文英文

PDFLIB打印PDF,能输出中文英文

2015-07-07 21:34:44 495

原创 MFC指定图片路径,缩小图片,再保存到一个路径

MFC指定图片路径,缩小图片,再保存到一个路径

2015-07-07 21:26:52 302

原创 CBitmap转HBITMAP以及CBitmap、HBITMAP图片信息保存在.bmp文件下

CBitmap转HBITMAP以及CBitmap、HBITMAP图片信息保存在.bmp文件下

2015-07-07 21:14:18 270

空空如也

空空如也

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

TA关注的人

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