C/C++
_iorilan
10年以上软件工程经验,先后从事在线教育/IT金融/即时通信/政府/物流平台/零售/门禁/监控等领域。专注夯实基础/项目成本与架构平衡/框架调研/团队高效协同工作
展开
-
BadImageFormatException or An attempt was made to load a program with an incorrect format
c# pinvoke C++程序异常:BadImageFormatException or “An attempt was made to load a program with an incorrect format” 原因 dll平台不兼容。x64 编译 的c++ dll 而 c# 项目里设置了prefer 32bit , 或 x32 编译的 c++ 被 c#调用.解决方案:c#的platf原创 2018-01-27 01:52:11 · 2383 阅读 · 0 评论 -
VC 中 CString 与 int 互转
//CString 与 int 互转CSTRING-> INTCString s= _T("7");int a;a= atoi((LPCSTR)s.GetString());////INT -> CSTRINGCString str;str.Format(_T("%d"),5);AfxMessageBox(str);原创 2012-03-30 10:34:02 · 1713 阅读 · 0 评论 -
OBJECT ARX 入门
-------------环境配置1.安装CAD2.安装ARX 3.打开VS,工具-》选项-》项目和解决方案-》VC++目录-》包含文件还有库文件,WIN32和win64:VS08/CAD2011D:\DEV\OBJECTARX2011\INCD:\DEV\OBJECTARX2011\INC-WIN32D:\DEV\OBJECTARX2011\UTI原创 2012-03-29 12:02:09 · 2463 阅读 · 0 评论 -
VC++ 解析CAD菜单
.H// CadMenuParserDlg.h : 头文件//#pragma once// CCadMenuParserDlg 对话框class CCadMenuParserDlg : public CDialog{// 构造public:CCadMenuParserDlg(CWnd* pParent = NULL);// 标准构造函原创 2012-03-28 16:47:52 · 2186 阅读 · 0 评论 -
MFC 状态栏,进度条的使用
//进度条===================================m_prograss = (CProgressCtrl*)GetDlgItem(IDC_PGTEST);m_prograss->SetRange(0,100);m_prograss->SetPos(0);SetTimer(1,20,NULL);在ontimer中////进度条原创 2012-03-28 11:22:39 · 2512 阅读 · 0 评论 -
CStringList不完全用法
转自:http://blog.csdn.net/liwenlong26363/article/details/5784794CStringList是CString链表,在MFC编程中STL之外的另一选择,用起来更加简洁.插入数据:AddTail();AddHead()删除数据:RemoveAll();RemoveAt();RemoveHead();RemoveTail()取转载 2012-03-27 14:12:58 · 2342 阅读 · 0 评论 -
孙鑫VC++ 学习笔记1
VC++画图总结// sunxinLab1View.h : CsunxinLab1View 类的接口//#pragma onceclass CsunxinLab1View : public CView{protected: // 仅从序列化创建CsunxinLab1View();DECLARE_DYNCREATE(Csunxi原创 2012-03-26 12:26:39 · 1675 阅读 · 0 评论 -
MFC/VC++ 绘制正弦曲线
void CMfcDrawingTestDlg::OnBnClickedOk(){double x,y,x0,y0;double pi = 3.14159254;CString sa;CString sx;CString so;double da;double dx;double doo; CEdit* ceA = (CEdit*)GetDl原创 2012-02-27 18:12:54 · 5138 阅读 · 2 评论 -
MFC CStdioFile简单用法
转自:http://hi.baidu.com/mysolarstar/blog/item/8d1898012df3b2cd277fb5fc.htmlVC++ MFC 使用CStdioFile类来操作文件,是个很简单的例子,有源代码下载。 源代码: //----- 使用 CStdioFile 类来读取文件 ---- www.5has.com 制作代码 简单例子转载 2012-02-22 16:54:07 · 3532 阅读 · 0 评论 -
VC++练习之 组合框和列表框同步
.h// MfcCtlTestDlg.h : header file//#pragma once// CMfcCtlTestDlg dialogclass CMfcCtlTestDlg : public CDialog{// Constructionpublic:CMfcCtlTestDlg(CWnd* pParent = NULL);原创 2012-02-17 11:52:49 · 1302 阅读 · 1 评论 -
VC++/MFC 小程序 文件/目录对话框 递归遍历文件/文件夹
// FileDlg.cpp : implementation file//#include "stdafx.h"#include "mfcLab4.h"#include "FileDlg.h"#include "FileLoader.h"// FileDlg dialogIMPLEMENT_DYNAMIC(FileDlg, CDialog)原创 2012-02-08 17:15:51 · 1620 阅读 · 0 评论 -
MFC 创建可序列化的对象 Serialize用法
Person.hclass CPerson : public CObject { DECLARE_SERIAL(CPerson) //---第一步,定义宏public: CPerson(void); //第二步,定义无参构造函数 CPerson(CString name, int age, bool gender = true);原创 2012-02-15 16:43:41 · 1975 阅读 · 0 评论 -
MFC 查找字符串函数的实现
/////查找字符串///////////////////////CString CStringTestDlg::FindStr(CStringArray* strArr,CString strToFind){int i = 0;CString curStr; for(i = 0;i GetCount();i ++){ curStr = strArr->Ge原创 2012-02-16 15:01:58 · 3563 阅读 · 0 评论 -
单链表的插入和删除 C++实现
#pragma once ////定义链表和节点/////////////////////////////////////////// ////节点类class Node{public: ////methods Node(void); Node(int data); ~Node(void); /////members原创 2011-06-29 18:50:00 · 2090 阅读 · 0 评论 -
OBJECTARX开发 与用户交互-- 输入函数汇总
static void TESTinputcmd(){CString outStr;//acedGetReal/*ads_real realNum;acedGetReal(_T("输入一个实数"),&realNum);outStr.Format(_T("%lf"),realNum);acutPrintf(outStr);*///acedGetInt/*int i原创 2012-03-30 11:24:32 · 4306 阅读 · 1 评论 -
MFC TOOLTIP的使用
.H//tooltipCToolTipCtrl m_tooltip;重写BOOL CCPPCtlTestDlg::PreTranslateMessage(MSG* pMsg);.CPPm_tooltip.Create(this);m_tooltip.Activate(true);m_tooltip.AddTool(GetDlgItem原创 2012-03-28 09:37:29 · 1714 阅读 · 0 评论 -
C++ 中的 抽象类 和 接口
C++纯虚函数一、定义 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0” virtual void funtion1()=0二、引入原因 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,转载 2012-03-02 10:53:35 · 951 阅读 · 0 评论 -
C++ 私有、保护、公有继承
转自:http://blog.163.com/niwei_258/blog/static/1062848820109269413217/一、公有(Pulic)继承“继承”是类的重要特性。A类继承B类,我们称B类为“基类”,也称为“父类”,A类则相应地被称为“派生类”或“子类”。A类继承了B类之后,A类就具有了B类的部分成员。那么,究竟从基类那儿得到了哪些成员,这由2方面决定,①继承转载 2012-03-01 17:31:24 · 1213 阅读 · 0 评论 -
MFC TRACE宏的使用
1.在MFC中加入TRACE语句2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了,切记,切记)4.然后就会在OUTPUT中的DEBUG窗口中看到TRACE内容了,调试执行会自动从BUILD窗口跳到DEBUG窗口,在转载 2012-02-27 12:10:54 · 1994 阅读 · 0 评论 -
MFC 表格控件的使用
////获取表格控件指针、设置样式CListCtrl* lst = (CListCtrl*)GetDlgItem(IDC_LSTCTl);lst->ModifyStyle( 0, LVS_REPORT ); // 报表模式 lst->SetExtendedStyle(lst->GetExtendedStyle() | LVS_EX_GRIDLINES原创 2012-02-22 18:01:03 · 2424 阅读 · 0 评论 -
MFC 属性页 总结
总结一下,也希望给用得到的人带来帮助。1.打开资源视图(ResourceView)的对话框目录(Dialog),在“Dialog”上右键、选择insert,在弹出的对话框中选择Dialog下的IDD_PROPPAGE_LARGE、点击new,这样我们就创建了一个新的属性页。按照此方法我们再创建两个属性页。2.为属性页添加相应的类,添加类,继承CPropertyPage,名称原创 2012-02-21 11:14:34 · 2296 阅读 · 1 评论 -
MFC 显示位图
/////显示位图void CStringTestDlg::OnBnClickedBtnshowpic(){CClientDC dc(this);dc.TextOutW(100,100,_T("hi mfc"));CStatic* pStatic=(CStatic*)GetDlgItem(IDC_PIC);CDC* pDC=pStatic->GetD原创 2012-02-16 15:03:51 · 1062 阅读 · 0 评论 -
C++ 字符串 处理 消除多余空格
////消除多余空格void CStringTestDlg::OnBnClickedOk(){CString str("i am a stu aa aa ddd s");CString rlt = RemoveExtraSpace(str);AfxMessageBox(rlt);// TODO: Add your control notification ha原创 2012-02-16 15:08:49 · 2463 阅读 · 0 评论 -
MFC 对话框中 菜单选中 前 打勾
bool m_bChecked = false;void CmfcLab4Dlg::OnHiMfc(){m_bChecked = !m_bChecked;}void CmfcLab4Dlg::OnInitMenuPopup(CMenu *pPopupMenu, UINT nIndex,BOOL bSysMenu){ if (!bSys原创 2012-02-14 18:31:10 · 4594 阅读 · 0 评论 -
MFC 涂鸦板
// mfclab6View.h : interface of the Cmfclab6View class//#pragma onceclass Cmfclab6View : public CView{protected: // create from serialization onlyCmfclab6View();DECLARE_D原创 2012-02-13 18:15:55 · 1733 阅读 · 0 评论 -
malloc和Free 工作原理
malloc原型:extern void *malloc(unsigned int num_bytes);用法:#include 或#include功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。malloc的语法是:指针名=(数据类型*)malloc(长度),(数据类转载 2011-06-27 15:07:00 · 1711 阅读 · 0 评论 -
C++ 使用模板 实现单例模式
templateclass T>class Singleton{public: static T* getInstance(){ if(ptr==NULL){ ptr=new T();//(T*)(::operator new(sizeof(T))); } return ptr; }pr转载 2012-07-12 10:27:14 · 1657 阅读 · 0 评论 -
CString的GetBuffer用法
转自:http://blog.163.com/shi_shun/blog/static/23707849201023133945192/一.函数原型CString::GetBufferLPTSTR GetBuffer( int nMinBufLength );throw( CMemoryException );Return Value转载 2012-04-11 10:42:33 · 1844 阅读 · 0 评论 -
MFC CList使用
转自:http://blog.sina.com.cn/s/blog_5cda82f40100aw58.html一、类的概要和头文件1. CList类:产生不定类型的列表,是一个集合类,也是一个双向链表类,是一个类模板。2. #include "Afxtempl.h" //包含头文件3. CList的构造函数,举例如下:CList list;转载 2012-03-27 17:05:25 · 4395 阅读 · 0 评论 -
MFC 集合类
转自:http://hi.baidu.com/mgy1984511/blog/item/a5a07711a572134ff919b806.htmlMFC 集合类的特性总结了特定 MFC 集合类的其他重要特性,可以作为选择原则。您的选择可能取决于特定的因素,如类是否基于 C++ 模板,它的元素是否可以通过 MFC 的文档序列化机制序列化,它的元素是否可以通过 MFC 诊断转储机制转载 2012-02-13 18:17:46 · 1693 阅读 · 0 评论 -
windows 消息类型 大全
转自:http://hi.baidu.com/mweb/blog/item/f0c8ddbf7481ea1619d81fc8.htmlWindows是一消息(Message)驱动式系统,Windows消息提供了应用程序与应用程序之间、应用程 序与Windows系统之间进行通讯的手段。应用程序要实现的功能由消息来触发,并*对消息的响应和处理来完成。Windows系统中有两种消息队列,一转载 2012-02-09 12:39:49 · 2100 阅读 · 0 评论 -
windows与应用程序 消息 传递图
windows提供系统消息池和应用程序消息池,用户的任何操作都会产生一个message,记录消息池中。应用程序从消息池拉取消息、解析属于自己的消息(不属于的就不管,交给操作系统执行默认操作)、分发消息到窗口窗口消息处理程序根据消息类别做出响应窗口创建、运行、销毁的过程:原创 2012-02-09 14:32:48 · 1532 阅读 · 0 评论 -
STL之List操作 part1
定义一个list我们可以象这样来定义一个STL的list: #include #include int main (void) { list Milkshakes; return 0;} 这就行了,你已经定义了一个list。简单吗?list Milkshakes这句是你声明了list模板类 的一个实例,然后就是实例化这个类的一个对象。但是我们别急着做转载 2011-06-28 09:58:00 · 1290 阅读 · 0 评论 -
STL之List操作 part2
使用STL通用算法find()在list中查找对象 我们如何在list中查找东西呢?STL的通用算法find()和find_if()可以做这些。 就象for_each(), count(), count_if() 一样,这些算法也使用iterator范围,这个范围指出一个list或任意 其他容器中的一部分来处理。通常首iterator指着开始的位置,次iterator指着停止处理的地方。转载 2011-06-28 10:12:00 · 1360 阅读 · 0 评论 -
winApi一日一练之 SetTextColor (和Textout)函数
记得先要#include ////声明字符串std::wstring strShow(_T("Test String"));hdc = BeginPaint(hWnd, &ps);TextOut(hdc,10,30,strShow.c_str(),(int原创 2011-10-14 13:52:05 · 2107 阅读 · 0 评论 -
删除 MFC 默认菜单的两种方式
作者:朱金灿来源:http://blog.csdn.net/clever101/ 新建一个MFC单文档程序,默认都有四个菜单栏:文件、编辑、视图和帮助。怎么把这四个菜单栏删除掉呢?有两种方法:第一种方法:重载框架类的Create函数,具体代码如下:[cpp] view plaincopyBOOL CMainFrame::Create(L转载 2012-02-10 16:22:05 · 2768 阅读 · 1 评论 -
MFC 对话框程序 添加菜单
1.可以在对话框的属性窗口中把menu属性设为要添加的菜单ID2.可以通过如下代码进行动态添加: CMenu* menu = new CMenu(); menu->LoadMenuW(IDR_MENU1); SetMenu(menu);原创 2012-02-10 16:19:21 · 917 阅读 · 0 评论 -
VC++/MFC常用控件 基本使用方法
====================标签====================CStatic* cw= (CStatic*)GetDlgItem(IDC_STATIC);////设置标签内容 cw->SetWindowTextW(_T("aaa"));////获取标签内容 CString s ; cw->GetWindowTextW(s);原创 2012-02-07 17:00:05 · 2195 阅读 · 1 评论 -
VC++/MFC COMBOBOX使用
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。1、定义控件对应变量假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控转载 2012-02-06 15:05:52 · 1928 阅读 · 0 评论 -
重温c++ hello,world
// C++Lab2.cpp : Defines the entry point for the console application.////记下来,以后做C++了,好好看看#include "stdafx.h"#include #include using namespace std;int _tmain(int argc, _TCHA原创 2012-02-06 10:48:03 · 1061 阅读 · 0 评论