随笔分类 - cpp
摘要:一、 函数的定义和使用方法: 第一步: 运行AppWizard,定义项目名为mydll,选择MFC AppWizard(dll),而不是MFC AppWizards(exe)。 第二步: 在这个例子中,只有一个AppWizard屏幕出现,选择MFC扩展DLL(MFC Extension DLL ...
阅读全文
摘要:1、关于类指针及类指针所指向对象的删除;原以为是:CObject *pObj = new CObject();pObj->~CObject();可是实际上是delete pObj;
阅读全文
摘要:1、初始化列表 如果这个CCombobox放在一个对话框类内,则不可在对话框的构造函数内来初始化combobox,可以放在对话框的OnShow事件内。2、取得当前选中的内容;得到当前选中项内容: int nIndex = GetCurSel(), GetLBText(nIndex, str);清除列表内容:ResetContent();
阅读全文
摘要:在ADO中调用存储过程一直是一个困扰大家的问题。其实,关于ADO调用存储过程的 方法在很多书中都有讲到,标准的做法无非是按照以下步骤进行: 1、生成并初始化一个_CommandPtr对象; 2、生成调用存储过程需要的参数,这些参数都是_ParameterPtr对象; 3、按照顺序将使用_CommandPtr的Append方法为存储过程提供参数(包括输入参数 ...
阅读全文
摘要:1.h 2afx_msg void OnUpdateButtonStatus(CCmdUI* pCmdUI); 3 4.cpp 5 6BEGIN_MESSAGE_MAP(xxxx, xxxx) 7//{{AFX_MSG_MAP(CMainFrame) 8// 9ON_UPDATE_COMMAND_UI(MY_ID, OnUpdateButtonStatus) 10//}}AFX_MS...
阅读全文
摘要:代码如下:// x1, y1, x2, y2为在地图中选定的两个点坐标// 分别作为要绘制矩形框的左下角和右上角两个点 x1 = 20741.798;x2 = 20739.798;y1 = 3401.866;y2 = 3409.866;pt.Set(x1, y1);pts.Add(pt);pt.Set(x1, y2);pts.Add(pt);pt.Set(x2, y2);pts.Add(pt);p...
阅读全文
摘要:如何建立一个新的图层?所建立的图层是永久的还是临时的?如何获得已有的图层对象?如何创建一个图元,并设置图元的属性?并且在图层中绘制出来? 如何建立一个新的图层?所建立的图层是永久的还是临时的?可以使用layers对象的CreateLayer方法 CreateLayer方法使您可以创建新的临时或永久Maplnfo表图层。所创建的表有一列名,用于标注和数据绑定。当要添加或更新图元时,Name属性将会放...
阅读全文
摘要:VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义。 对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例子: VARIANT va;int a=2001;va.vt=VT_I4;///指明整型数据va.lVal=a; ///赋值 对于不马上赋值的VARIANT,最好先...
阅读全文
摘要:如果还是按照一般vc程序一样使用ON_WM_LBUTTONDOWN()宏是不会起作用的。程序永远执行到不了你的OnLButtonDown(UINT nFlags, CPoint point) 函数内。方法是这样的:主要是要用到MapX自己定义的一套消息相关宏以下我们假设试图类的名字为:CDemoView这里我们要添加的是一个响应鼠标移动的消息处理函数1、首先在DemoView.h文件的DECLAR...
阅读全文
摘要:代码如下: 1 2void CMapExporter::CreateDir(CString dir) 3{ 4 DWORD dwAttr = GetFileAttributes(dir); 5 if(dwAttr==-1||(dwAttr&FILE_ATTRIBUTE_DIRECTORY)==0)//目录不存在 { 6 if(!Create...
阅读全文
摘要:因为视窗口实际上是框架窗口的子窗口,所以你必须改变框架窗口的大小,而不是改变视窗口。使用 CView 类中的 GetParentFrame() 函数获得指向框架窗口的指针,然后调用 MoveWindow() 函数来改变框架的大小。这会使变尺寸的视充满框架窗口,例如:GetParentFrame()->MoveWindow(0,0,200,200);
阅读全文
摘要:要让某个按钮处于按下状态,则调用如下代码:m_wndToolBar.GetToolBarCtrl().SetState(ID_BUTTON_XX, TBSTATE_PRESSED);要让某个按钮由按下状态改为弹起状态,则调用如下代码:m_wndToolBar.GetToolBarCtrl().SetState(ID_BUTTON_XX, TBSTATE_FLAT);m_wndToolBar...
阅读全文
摘要:我们经常需要用到“选择文件夹”对话框,相应的API已经很好用,但稍嫌麻烦,所以我专门将其封装了一下,力求一步到位。 函数封装如下:/******************************************************************* 函数名:GetPath** 输 入: 无** 输 出: CString strPath** strPath非空, 表示...
阅读全文
摘要:在编程工作中常会遇到在一个“类”中通过函数指针调用成员函数的要求,如,当在一个类中使用了C++标准库中的排序函数qsort时,因qsort参数需要一个“比较函数”指针,如果这个“类”使用某个成员函数作“比较函数”,就需要将这个成员函数的指针传给qsort供其调用。本文所讨论的用指针调用 “类”的成员函数包括以下三种情况: (1).将 “类”的成员函数指针赋予同类型非成员函数指针,如: 例子1#...
阅读全文
摘要:找出一些vc6和标准c++不兼容的地方,以便使用的时候小心
阅读全文
摘要:最近由于工作需要,要实现一个简单的gis系统。要求能够显示同一区域的多种分辨率的地图。由于图片有大有小,当图片很大的时候如果将整张图片读入内存,将会消耗大量的内存,效率不高。所以考虑将大的图片切割成小块保存,根据显示时候的需要调用指定区域的图片,拼接起来显示。下面是我切割图片的代码;仅供参考,希望能对大家有所帮助BMPSpliter.h 1// BMPSpliter.h: interface f...
阅读全文
摘要:作者:袁晓辉(farproc@gmail.com) 声明: 1、 本文为作者原创,如需转载请保持本文的完整性并注明出自 www.farproc.com 和 http://blog.csdn.net/uoyevoli. 2、 本文附件中的源代码你可以免费使用并无需注明出处。 用C++实现事件机制我以前写过一个小例子,但不是很完善,比如Event只能接受全局函数作为handler,...
阅读全文
摘要:正文图形为什么会闪烁的原因是:我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果将背景刷设置成NULL,这样无论怎样重绘图形都不会闪了。当然,这样...
阅读全文
摘要:1 如何在状态栏显示当前鼠标位置 1.1 添加一个pane的命令ID 切换到resource view界面上,单击右键,选择resource symbols,在resource symbols的对话框内点击new按钮,输入一个command ID,ID_INDICATOR_POS, 1.2 在string table中添加一个string 添加的这个strin...
阅读全文
摘要:1 函数 1.1 内联函数 inline bool isNumber(char c) { return (c=='1'); } int main(int argc, _TCHAR* argv[]) { //cout//这种方式适合于用来引用库文件; #inlcude “…” // 这种格式适合用来引用工程内用户自己定义的文件 3 数组 ...
阅读全文

浙公网安备 33010602011771号