
VC编程
文章平均质量分 73
ydr001ml
这个作者很懒,什么都没留下…
展开
-
VC6.0+CJLibrary6*
使用CJLibrary可以方便的开发类office,VS,outlook界面,系统:xp+sp2安装VC6.0+sp6的时候选择支持unicode: ) 不然编译CJLibrary工程的时候会报错,嫌麻烦就选安装全部组件。codejoke上提供了CJLibrary6.09,使用时老是莫名其妙错误,因此推荐使用6.08 免去无谓麻烦×……×安装后CJLibrary Version 6.转载 2009-11-28 20:35:00 · 1016 阅读 · 0 评论 -
使用VC6.0实现窗口的任意分割(转)
一、关于CSplitterWnd类我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割。 那么我们自己如何创建类似的界面,也实现窗口的任意的分割呢 ?在VC6.0中这就需要使用到CSplitterWnd类。CSplitterWnd看上去像是一种特殊的框架窗口,每个窗口都被相同的或者不同转载 2009-11-28 20:38:00 · 500 阅读 · 0 评论 -
ArcEngine的命令调用的形式
方法一LPDISPATCH object = m_wndMapCtrl.get_Object();esriICommandPtr cmd;cmd.CreateInstance(CLSID_ControlsSelectFeaturesTool); cmd->OnCreate(object);m_wndMapCtrl.putref_CurrentTool(cmd);方法二LPDISP转载 2009-11-28 20:47:00 · 868 阅读 · 1 评论 -
AE92+VC开发时遇到'enum' type redefinition问题!
//AO Include#pragma warning(push)#pragma warning(disable : 4192) /* Ignore warnings for types that are duplicated in win32 header files */#pragma warning(disable : 4146) /* Ignore warnings for use转载 2009-11-28 20:49:00 · 1392 阅读 · 1 评论 -
用VC进行COM编程所必须掌握的理论知识
这篇文章是给初学者看的,尽量写得比较通俗易懂,并且尽量避免编程细节。完全是根据我自己的学习体会写的,其中若有技术上的错误之处,请大家多多指正。 一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件转载 2009-11-28 20:50:00 · 594 阅读 · 0 评论 -
SAFEARRAY、COleSafeArray、VARTYPE(转)
SAFEARRAY的主要目的是用于automation中的数组型参数的传递。因为在网络环境中,数组是不能直接传递的,而必须将其包装成SafeArray。实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元 素类型等信息。SafeArray也并不单独使用,而是将其再包装到VARIANT类型的变量中,然后才作为参数传送出去。在VARIANT的vt成员的 值如果包含VT_原创 2009-11-28 20:29:00 · 1131 阅读 · 0 评论 -
窗口的动态效果与对话框条
主要函数BOOL AnimateWindow( DWORD dwTime, //动态效果持续时间 DWORD dwFlags //动态的风格); //窗口产生或销毁时的动态效果EnableDocking(CBRS_ALIGN_ANY);//使各种控制条能够停靠在窗口的任意位置转载 2009-11-28 20:34:00 · 447 阅读 · 0 评论 -
对于从CFormView里基础的视图类如何去掉滚动条
若想改变工程中某些类的某人动作 选项 如对于CFormView 是从CScrollView中继承来的 所以又滚动条如果不想要滚动条的话 就可以 把原来CFormView::OnSize()函数中的默认基类的动作去掉即用CView::OnSize()替换了 CFormView::OnSize()其实都这样 工程默认的东西 如果想改变的话 只要在继承下来的类中 去掉基类的默认函数 动转载 2009-11-28 20:35:00 · 678 阅读 · 0 评论 -
MFC类中获得其它类指针
当用VC++的Application Wizard生成除了CDialog Basiced以外的应用程序时,将自动产生视图类、文档类、主帧窗口类、应用程序类等等。一般来说,程序的核心数据及操作在文档类中实现。跟界面有关的数据及操作在视图类中实现。当需要在某个类中使用不属于该类的数据时,必须要取得该数据所属类的指针。从视图类获得文档类的指针是很容易的,用GetDocument即可,这在一般的MF转载 2009-11-28 20:36:00 · 413 阅读 · 0 评论 -
如何修改CJlibrary608在VC.net环境下运行(转)
CJlibrary 6.08是一套非常漂亮的用户界面类。为广大的VC用户所欢迎。但是在VC.net下编译的时候报错,需要修改方能运行通过。我已把我修改并编译通过的过程记录下来,供大家参考。下面列出每个错误及其修改方式:1.报告CJlirary.h文件#include 文件找不到修改:改为#include 2.报告COLORREF clr = afxData.bWin4 ? afx转载 2009-11-28 20:34:00 · 732 阅读 · 0 评论 -
Tchar.h
Visual C++支持多字节字符集 (MBCS) 多字节字符集 (MBCS) 是一种替代 Unicode 以支持无法用单字节表示的字符集(如日文和中文)的方法。为国际市场编程时应考虑使用 Unicode 或 MBCS,或使程序能够通过更改开关来生成支持两种字符集之一的程序。最常见的 MBCS 实现是双字节字符集 (DBCS)。一般来说,Visual C++(尤其是 MF转载 2009-11-28 20:50:00 · 749 阅读 · 0 评论 -
VC MFC SDI/MDI框架各部分指针获取方式
获得CWinApp 获得CMainFrame 获得CChildFrame 获得CDocument 获得CView在CWinApp中 AfxGetMainWnd()m_pMainWndAfxGetMainWnd()->MDIGetActive()Afx转载 2009-11-28 20:37:00 · 538 阅读 · 0 评论 -
使用ADO封装类的数据库程序开发实例
CAdoRecordSet class: CAdoRecordSet: CAdoRecordSet::CAdoRecordSet() CAdoRecordSet::CAdoRecordSet(CAdoConnection *pConnection) void CAdoRecordSet::SetAdoConnection(CAdoConnection *pConnection)转载 2009-11-28 20:44:00 · 1043 阅读 · 1 评论 -
AO中接口的一般使用方法(转)
我们通过实例来学习在AO中接口的使用方法,我们要学的这个实例是在VC 6.0下用ATL创建的一个COM。 COM的创建的主要步骤是: 1.实现esriSystemUI ICommand接口,使用户可以把这个组建模型加入ArcScene或其他工具栏上,在点击这个按钮的时候实现相关操作。 2.创建一个连接点实现ISceneGraphEvents接口事件,并改写fire事件转载 2009-11-28 20:46:00 · 1382 阅读 · 0 评论 -
编写ArcEngine程序时候,VC++ 需要的头文件
#pragma warning(push)#pragma warning(disable: 4192)#pragma warning(disable: 4146)#import "D:/Program Files/ArcGIS/com/esriSystemUtility.olb" raw_interfaces_only, raw_native_types, no_namespace, nam转载 2009-11-28 20:48:00 · 696 阅读 · 0 评论 -
SetRegistryKey(_T("Local AppWizard-Generated Applications")); 和 LoadStdProfileSettings
可以不要,不过会损失一点功能。如不能使用最近打开的文件列表功能。还有不能保存窗口的状态(最大话,正常打开等等)CWinApp::SetRegistryKey void SetRegistryKey( LPCTSTR lpszRegistryKey ); void SetRegistryKey( UINT nIDRegistryKey ); 参数 lpszReg转载 2009-11-28 20:32:00 · 2414 阅读 · 0 评论 -
象棋代码
#include#include"resource"using namespace std;class Cplate{int m_ndx;int m_ndy;int m_nLeft;int m_nTop;int m_nRight;int m_nBottom;public:CPlate();void ShowPlate(CDC *pDC);void DrawConer(CDC *转载 2009-11-28 20:39:00 · 787 阅读 · 0 评论 -
内存对齐
一. 什么是内存对齐如下结构,sizeof(x_struct)=?struct x_struct{ char c_value1;//1个字节 int i_value2;//4个字节 char c_value3;//1个字节};在vc2003.net编译环境中,sizeof(x_struct)=12,不是6,这就是内存对齐,编译器为了提高存取速度而做的优转载 2009-11-28 20:42:00 · 443 阅读 · 0 评论 -
esriCore.olb从8.3到9.0的细分解决
ArcGIS从8.x升级至9.0不再是一个esriCore.olb,而是拆分成许多类型库,这些改变可能会影响到原8.x程序的执行解决方法:删除老的esriCore引用添加正确的esrixxx引用替换代码中的esriCore.xx声明#pragma warning(push)#pragma warning(disable: 4146)#pragma warning(disable: 4185)#im转载 2009-11-28 20:48:00 · 818 阅读 · 0 评论 -
MFC应用程序中指针的使用 视图 框架 文档 状态栏 菜单栏
1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量 8) 在Mainframe获得菜单指针 9) 在任何类中获得应用程序类 10) 从文档类取得视图类的指针(1) 11) 在App中获得文档模板指针 12转载 2009-11-28 20:36:00 · 691 阅读 · 0 评论