自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alexander_Frank的博客

学习中的笔记总结

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 AcDbTable

AcDbTable *pTab = new AcDbTable;AcGePoint3d pInsert = AcGePoint3d(0, 0, 0);AcDbDictionary *pDict = NULL;//格式设置AcDbObjectId idTblStyle;acdbHostApplicationServices()->workingDatabase()->getTab

2016-08-30 11:21:02 2305 1

原创 ACAPDocument

ObjectARX中引入了用来管理文档的应用程序范围(新建和切换文档)和文档范围(对当前文档的图形数据库进行编辑和修改)。需要注意的是,在应用程序范围内工作,如果要修改某个文档中的图形数据库,就需要通过acDocManager->unlockDocument->lockDocument(acDocManager->curDocument())和acDocManager->unlockDocum

2016-08-26 16:21:40 1953

原创 组词典

组词典将多个图形对象编组存储,存储后的效果:可以通过组来找到所需要的实体,在界面上选中一个就可以找到其他实体,(即选中的为一个组)。但是与块对比,不同的是将实体分组并不形成新的实体对象。在CAD中的的命令为group创建组词典:AcDbGroup *pGroup = new AcDbGroup;for (int i = 0; i {pGroup->append(entI

2016-08-26 13:52:27 1827

原创 CAD 选择集

CAD中构建选择集的两个函数:acedSSAdd和acedSSGet,但是都需要使用acedSSFree来释放内存空间。1. int acedSSAdd(const ads_name ename, const ads_name sname, ads_name result);若ename和sname都是空指针,则创建一个未包含任何成员的选择集。若ename指向有效的实体,而sname为

2016-08-26 10:16:57 3580

原创 读写配置文件中的数据

主要的读取函数DWORD dwCharacters = ::GetPrivateProfileString(strFieldName,  //节名strKeyName,  //键名strDefault,  //如果键名不存在,搜索默认键strTemp.GetBuffer(bufferLength), //缓冲区指针,获取读取的字符串bufferLength, 

2016-08-25 16:52:19 400

原创 修改块的方法+AcGeMatrix3d+AcGeScale3d+两点之间的距离

开发过程中,当从外部获取了一个,需要修改块中的实体时,有以下几种方法。1.第一个通过explode函数炸开AcDbBlockReference,获取块参照中的实体对象,然后遍历对象,找到修改的实体,完成修改后将所有的实体插入到模型空间。注意的是:炸开块参照并不是将已经插入到模型空间中的参照分解,而是在内存中创造一个分解后的对象。其对象并没有存在于数据库中。所以第一种方法一般用于将块参照

2016-08-23 11:03:52 2809

原创 CAD 4种反应器

CAD中4种反应器:按照执行的先后顺序分别为  文档反应器、编辑器反应器、数据库反应器。文档反应器当用户输入命令和命令结束之时,文档反应器函数documentLockModeChanged(XXXXX, const char* pGlobalCmdName)函数将会被调用。命令输入完成之后,pGlobalCmdName的值为该命令,命令结束之时pGlobalCmdName的值为#+该命令

2016-08-17 15:12:08 6656

原创 CAD+开发小结+交互+选择集+深度拷贝AcDbObjectId中指向的实体集+读取其他DWG文件

深度拷贝将数组中的实体ID指向的实体拷贝至blockId为ID的块中AcDbIdMapping         adimIdMap;AcApDocument* pDoc = acDocManager->curDocument();acDocManager->lockDocument(pDoc, AcAp::kWrite);//锁定当前文档acdbHostApplicationSer

2016-08-16 17:35:42 5111

原创 设置显示实体的颜色 byLayer/byBlock

在CAD界面上显示时,其颜色属性可以设置为byLayer或者byBlock。byLayer:实体的颜色和实体所在的图层保持一致。byBlock:实体的颜色和实体所在的块保持一致。但是,块中的实体都是一个个独立的对象,相互之间并没有直接的联系。所以仅仅讲一个对象设置为byBlock,并不能使它与整体保持一致。byBlock的真正含义在于将一些列对象以一个块的形式显示出来,然后调整块的

2016-08-16 17:33:21 8192

原创 AcDbBlockTableRecord+AcDbBlockReference AcDbAttribute+AcDbAttributeDefination 项目总结

AcDbBlockTableRecord:块表记录或块定义   AcDbBlockReference:块引用 意味着这个变量指向的是一个真正的块。概念辨析:在CAD中,块和块表记录是不同的概念。类比于类与对象。而块中的实体又类似于对象中的成员变量。所以,AcDbBlockTableRecord为块表记录,类似于一个模板,所有的块都是仿照这个模板构造的。需要显示的实体都需要添加到AcDb_M

2016-08-15 16:13:03 5191

转载 MFC + 自定义类的序列化与反序列化

使类可序列化需要五个主要步骤。从 CObject 派生类(或从 CObject 派生的某个类中派生)。重写 Serialize 成员函数。使用 DECLARE_SERIAL 宏(在类声明中)。定义不带参数的构造函数。为类在实现文件中使用 IMPLEMENT_SERIAL 宏。如果直接调用 Serialize 而不是通过 CArchive 的“>>”和“从 CObject 派

2016-08-10 17:08:29 2341

转载 MFC 中切换资源的两种方式

方法一:AFX_MANAGE_STATE(AfxGetAppModuleState());// MFC扩展dll或AFX_MANAGE_STATE( AfxGetStaticModuleState());//常规Regular dll方法二:HMODULE hDLL=GetModuleHandle("SourceChange.dll"); HINSTANCE hEXE=AfxGe

2016-08-10 13:44:28 2519

转载 SVN中tag branch trunk用法详解

http://developer.51cto.com/art/201005/201718.htm本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN中tag branch trunk的用法。在实现上,branch和tag,对于svn都是使用copy实

2016-08-10 10:19:37 663

转载 WChar_t 字符集的操作函数

函数介绍:wcslen()   类似与char*类型作参数的strlen()函数      用来获取wchar_t*变量的长度(不包含终结符)wcscpy()  类似与char*类型作参数的strcpy()函数      用来进行wchar_t*变量之间的复制同样的还有  wcsncpy()wcscmp()  类似与char*类型的strcmp()函数      用

2016-08-10 08:43:20 6568

转载 MFC + 线程访问窗口资源的问题(规则DLL)

我们在设计平台类应用程序时,常常会受到一些特殊UI的影响,例如,在一个算法平台中,要加入一个特殊算法的配置对话框,这时,平台维护工程师,肯定不想把这个对话框放在平台中,一是当前的对话框压根和当前模块的业务没有任何关系,另外,平台工程师也不想陷入无尽的UI编写中。      这时,我们可以把这些特殊的UI放在不同的模块中,平台只要调用就可以了。     想法固然是好,但在实践中因为对线程状态

2016-08-09 16:45:28 1105

转载 DLL+资源模块切换

MFC程序中存在一个模块状态(Module State)的问题,也就是资源重复的问题。(此处的术语模块是指一个可执行程序,或指其操作不依赖于应用程序的其余部分但使用MFC运行库的共享副本的一个DLL(或一组DLL)。我们所创建的MFC DLL就是这种模块的一个典型实例。)     在每个模块(EXE或DLL)中,都存在一种全局的状态数据,MFC依靠这种全局的状态数据来区分不同的模块

2016-08-09 15:15:51 1450

转载 MFC CFileDialog + 对文件的读写操作

CFileDialog(Bool bOpenFileDialog,  为True时为打开对话框,为False时为另存为对话框LPCTSTR lpszDefExt = NULL, 默认的文件扩展名LPCTSTR lpszFileName = NULL, 初始文件名 DWORD dwFlags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, 对话

2016-08-08 10:18:28 823

转载 MFC CMenu类

CMenu类的主要成员函数       MFC为菜单的操作提供了CMenu类,下面鸡啄米就常用的几个成员函数进行简单的介绍。       BOOL LoadMenu(UINT nIDResource);       加载菜单资源,并将其附加到CMenu对象上。参数nIDResource指定了要加载的菜单资源的ID。如果菜单加载成功则返回TRUE,否则返回FALSE。

2016-08-05 10:30:48 1988

转载 MFC 基于对话框程序添加菜单项

VS2010的MFC对话框程序中添加菜单栏的过程,我大致分了这五步。    一、将Menu加入Resource视图中在WorkSpace中的Resource视图下,在任意一个文件夹图标上,右击选择Insert(插入)选项,在弹出的对话框中选择Menu以后,再点击,new按钮,菜单就会添加成功了,但是现在还没有完成,还不能进行编译,因为现在的菜单时空的,在编译的时候会被清除的。

2016-08-05 10:14:37 1328

转载 MFC 单文档、多文档和对话框程序

基于MFC的单文档,多文档,对话框应用程序基于对话框(3个类):CAboutDlg程序名App程序名Dlg单文档(5个类):CAboutDlgCMainFrame程序名App程序名Doc程序名View多文档(6个类):CAboutDlgCMainFrame程序名App程序名Doc程序名ViewCChildFra

2016-08-05 09:20:55 6314

转载 MFC CPropertySheet控件

步骤一:新建一个对话框。步骤二:新建三个属性页对话框资源(IDD_PROPPAGE_LARGE)。并对新建的三个属性页对话框生成三个类,基类为CPropertyPage。步骤三:插入一个新的类,用于创建属性表单,基类为CPropertySheet。步骤四:在属性表单的构造函数中调用AddPage,将属性页加入到属性表单中。先在属性表单中定义三个属性页的对象,代码如下:

2016-08-05 09:07:24 2106

转载 MFC Extend CcomboBox

Extended Combo Box的功能比Combo Box更多一点.其中有个功能就是可以在选项前加个图标.        先添加一个Extended Combo Box控件.并给它添加一个变量cbBoxE.                CImageList* pImageList;      //相当于一个特殊数组,但是它保存的是图片                p

2016-08-04 15:47:28 1179

转载 MFC CcomboBox控件

组合框控件简介       组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框。下面讲讲它们的区别。       简易组合框中的列表框是一直显示的,效果如下图:       下拉式组合框默认不显示列表框,只有在点击了编辑框右侧的下拉箭头才会弹出列表框,列表

2016-08-04 15:14:46 1409

转载 MFC RichEdit控件

在mfc中使用工具栏里的RichEdit 控件时,应该在程序初始话时加入AfxInitRichEdit,或者 AfxInitRichEdit2 否则的话 程序会起不来.也没有任何错误信息.这俩函数 是加载 Riched20.dll(Riched32.dll )的.1.设置edit只读属性    方法一:                m_edit1.SetR

2016-08-04 14:50:09 675

转载 List Control总结

1.新建对话框MFC,在对话框上放一个ListCtrlID:IDC_PATHView:Report2.为ListCtrl添加变量右击->添加变量m_wndPath3.找到OnInitDialog()函数添加如下代码:[cpp] view plain copy  [cpp] view pl

2016-08-04 13:32:20 413

转载 MFC ListControl

1.ListControl的基本创建。// 基本设置m_ListCtrl.DeleteAllItems();m_ListCtrl.InsertColumn(0, _T("NBA"));m_ListCtrl.InsertColumn(1, _T("Final Champion"));m_ListCtrl.SetRedraw(FALSE);//创建行int m_inde

2016-08-04 11:38:36 405

转载 MFC TreeViewControl

树形控件的创建       MFC为树形控件提供了CTreeCtrl类,它封装了树形控件的所有操作。       树形控件的创建也是有两种方式,一种是在对话框模板中直接拖入Tree Control控件创建,另一种就是通过CTreeCtrl类的Create成员函数创建。下面主要讲后者。       CTreeCtrl类的Create成员函数的原型如下:       v

2016-08-04 10:37:43 1799

转载 MFC ListBox Control用法

1添加数据声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBox_Content.m_ListBox_Content.AddString(_T("123"));m_ListBox_Content.AddString(_T("汉字"));m_ListBox_Content.AddString(_T("English"));m_ListBox

2016-08-04 09:04:23 4340

转载 MFC模式对话框与非模式对话框 消息处理顺序 与非模式对话框的焦点问题、显示、关闭以及交互问题

对话框有两种创建方式:DoModal和Creat。 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同。对于模态的对话框,在该对话框被关闭前,用户将不能在同一应用程序的其他地方进行工作(例如open file对话框),而对于非模态的对话框,在它留在屏幕上的同时可以在其他的地方进行工作,(例如find file对话框)Create的Di

2016-08-02 15:35:05 1582

转载 控件关联变量

控件是对话框的重要组成部分,控件的访问可以通过关联变量实现,包括关联数据变量和控制变量。DDX_Text:将控件与成员变量关联,放在DoDataExchange中,管理对话框、表格视或控件视对象中的编辑控件与对话框、表格视或控件视对象的CString型数据成员之间的int,UINT,long,DWORD,CString,float或double型数据交换。当我们为控件关联变量时,会自动添加

2016-08-02 14:45:49 1706

转载 HWnd和CWnd的获取函数

顺便记录一下有关窗口对象指针和窗口句柄相关的函数。Win32 API函数对窗口的操作总是需要一个窗口句柄(hWnd)来指向需要操作的对象;比如::SetWindowPos(hWnd,...)而MFC内,窗口句柄已经包含在对象成员内,需要的是指向窗口对象的指针(pWnd),这样就可以对此对象的成员函数操作了。比如pWnd->SetWindowPos(...)常用获得函数:

2016-08-02 14:41:07 1424

转载 CWND和HWND之间的关系和转换 和获取方法

CWnd与HWND的区别 (2014-04-02 15:08:40)转载▼标签: cwnd hwnd mfc fromhandle getsafehandle() it分类: StudyNotes一、区别HWND是句柄,CWnd是MFC窗体类,CWnd

2016-08-02 14:35:16 12626

原创 运用扩展实体构建链表

//由于句柄在应用程序中可以唯一标示一个实体,因为它是由数据库决定的,不会由于实体的变动而导致变化。对象ID可能由于多次重复打开而改变。//但是不同的实体可能有相同的一个句柄AcDbHandle AdsNameToHandler(ads_nameen){         AcDbObject*pObj;         AcDbObjectIdpObjId;

2016-08-02 09:22:01 632

原创 扩展实体

扩展实体对象Xrecord,它是AcDbxrecord的对象实例扩展实体对象实际上是结果缓冲区列表,存储一个数据组列表,每一个节点都有一个DXF码来标示实体的类型设置和获取结果缓冲区链表Acad::ErrorStatusAcDbXrecord::setFromRbChain(resbuf& pRb, AcDbDatabase* auxDb = NULL);Acad::Error

2016-08-01 15:42:12 1402

转载 图块引用、属性块引用、创建新层表、ObjectArx开发中静态变量和全局变量要点

一.图块设计技术: 在AutoCAD数据库中,以各图块实际上市存储在块表记录里的实体集合。每个图块从一格AcDbBlockBegin对象开始,紧接着是一个或多个AcDbEntity对象,最后以AcDbBolckEnd对象结束,按其所属关系得层次结构分为三层:第一层为块表,是属于数据库管理的根对象;第二层为块表记录,是属于块表管理的对象;第三层为组成图块的实体对象,是属于块表记录管理

2016-08-01 15:03:24 4209

原创 词典

符号表中都有一个迭代器。可以由一下函数生成。Acad::ErrorStatus ACDBXXXTable::newIterator(AcDbXXXTableIterator*& pIterator,Adesk::Boolean atBeginning =Adesk::Ktrue,  ktrue代表从第一个开始,kFalse为从末尾开始Adesk::BooleanSkipErased = A

2016-08-01 14:37:58 942

原创 符号表

符号表:每一个符号表对象都提供getAt函数来获取指定名称记录。Acad::ErrorStatus getAt(const char*pEntryName,       需要获取对象的名称AcDb::OpenMode mode,               打开方式XXXTableRecord* &pRecord,             获取的表记录对象Ade

2016-08-01 10:18:42 2592

UML面向对象建模基础

《UML面向对象建模基础》是一部UML的初级读本,涵盖了UML2.0。《UML面向对象建模基础》共16章,详细讲解了UML背景、UML规范中的13种图,以及UML在各个开发阶段的应用。《UML面向对象建模基础》最大的特色在于,对于每种图的介绍都从相关知识介绍开始,然后是图的阅读方法、绘制方法,最后说明其应用方法,符合中国人的学习曲线。

2016-05-06

UML课件资源

UML讲义

2016-04-25

HTML5和CSS权威指南

详细介绍了HTML5与老版本的不同和新颖之处。 值得新手学习和老鸟复习参考。

2016-03-12

Powerdesigner

Powerdesigner16 基础使用手册。 对于初学者可以一步一步熟悉Powerdesigner 的简单应用。

2016-03-08

空空如也

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

TA关注的人

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