明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4252|回复: 7

[求助]讨教ARX中的CAcUiTabMainDialog 和 CAcUiTabChildDialog的用法

[复制链接]
发表于 2002-5-11 13:06:00 | 显示全部楼层 |阅读模式
最近,有一小项目用到了属性单与属性页,在ARX文档中讲,用CAcUiTabMainDialog 和 CAcUiTabChildDialog来替代他们,有关此文档反复看了多次,仍不得其法。VC++也不太熟练(WINDOWS编程我原用DELPHI)。只能向版主或高手求教,且用示例说明。谢谢!email:wenbinpeng@163.com
发表于 2002-5-12 12:45:00 | 显示全部楼层

其实这个问题很难用一两句话说清楚的。

你可以找一本ARX的书看一下,因为操作起来很麻烦,一两句话也说不清楚。不过我可以简单的向你描述一下:
   先加入属性单/属性页,属性单用控件中的“Tab Control”,属性页就同一般的对话框一样,下面的例子中我用MainSht来表示属性单类,用CPg1,CPg2,CPg3分别表示三个属性页类。然后需要在属性单的.h文件中声明属性页的实例,例如:
// MainSht.h
class  CMainSht:public CAcUiTabMainDialog{
DECLARE_DYNAMIC(CMainSht)
//
//
//
CPg1  m_Pg1;
CPg2  m_Pg2;
CPg3  m_Pg3;
在MainSht.cpp文件中
BOOL CMainSht::OnInitDialog()
{
//将每个属性页加入到属性单中;
//m_tabCtrl是属性单中Tab Control控件对应的变量;m_pg1,m_pg2,m_pg3分别是三个属性页对应的变量。
//
SetAcadTabPointer(&m_tabCtrl);  //得到指向嵌入式标签控件的指针;
);
//将各个页插入到单中;
m_tabCtrl.AddTab(0,_T("g1"),CPg1::IDD,&m_pg1m_tabCtrl.AddTab(1,_T("g2"),CPg2::IDD,&m_pg2);
m_tabCtrl.AddTab(1,_T("g3"),CPg3::IDD,&m_pg3);

//
}
还需要在各个属性页中加入你特性化的东西。
我可不是什么高手,只是自己曾经做过,也不知道说明白了没有,但愿能帮上你的忙。可以看看爱尔兰人Charles McAuley编的AutoCAD2000  ObjectARX,李世国,潘建忠,平雪良译。
发表于 2002-5-13 11:48:00 | 显示全部楼层

like this

ARX中的CAcUiTabMainDialog 和 CAcUiTabChildDialog
与mfc中的类区别在于数据校验,步骤:
1 摆放空间形成Dialog
2 生成CPropertySheet和CPropertyPage类
3 将 CPropertySheet,CPropertyPage改成CAcUiTabMainDialog 和 CAcUiTabChildDialog
4 将空件的类改成cad的相应的类如:CEdit-->CAcUiEdit
 楼主| 发表于 2002-5-13 20:49:00 | 显示全部楼层

非常感谢!

按照bb君的指引,现已搞定。经验总结:1、VC不熟;2、C++概念不清;3、CTabCtrl、CAcUiTabCtrl及CAcUiTabChildDialog之间的关系糊涂;4、我买的2本书均是帮助文件的“译文”,bb君讲的书在我市没有卖,可能老外才是真的著书吧。
 楼主| 发表于 2002-5-15 13:42:00 | 显示全部楼层

老问题的新现象,请问BB

似乎在NT中无问题(未深入调试),而在WIN XP中,标签选项卡的第一页(项)不在对话框中显示,且第一页只有一个默认的<确定>按键,还不能对CAcUiTab的成员函数操作。是什么原因?还请BB君解答。
发表于 2002-5-15 17:58:00 | 显示全部楼层

应该和操作系统关系不大吧?!

我觉得用什么操作系统并不影响程序的可执行性的。肯定还是你程序有问题。“确定”按钮不应该在属性页中显示吧?!应该把它放到属性单中。这样吧!我给你发个例程你好好看看。
发表于 2006-7-20 16:57:00 | 显示全部楼层

谁还有“BB”发的那个例程啊,能发给我一份吗?谢谢

xcxm0304@126.com

发表于 2006-7-20 20:36:00 | 显示全部楼层

呵呵,老兄我也是从Delphi转过来的,本来从Delphi两行就能解决的问题,在VC中要经过很多不好理解的步骤。上面的BB说的很详细了,希望大家共同进步

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 23:17 , Processed in 0.191735 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表