找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3520|回复: 21

[求助]:有没有CAcUiDockControlBar的例子,急需,谢谢

[复制链接]
发表于 2002-8-30 20:32:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
有没有CAcUiDockControlBar的例子,急需,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-30 20:35:12 | 显示全部楼层

Re: [求助]:有没有CAcUiDockControlBar的例子,急需,谢谢

最初由 noname 发布
[B]有没有CAcUiDockControlBar的例子,急需,谢谢 [/B]


给你贴几个ADN的开发资料

Acui: fix tooltip shown behind acuidockcontrolbar problem  
ID    47495  
Applies to:    AutoCAD 2000

Date    6/2/2000  

This document is part of    AcUi/AdUi     


Question
After creating an AcUiDockControlBar, I changed a short string in the CTreeCtrl
to a string that exceeds the width of the control and undocked the dialog bar,
and now the tooltip is shown behind the dialogBar. How do I fix this problem?
Answer
This is a known problem that was discovered during the early development of the
Properties Window. For some reason the controls in the dialogBar  change the
z-order of the tooltip window. Even though the tooltip in the CTreeCtrl problem
is not directly related, it offers a start on where to look to find a solution.
Since one can access the tooltip control from a CTreeCtrl, one can change its
z-order to be the top most programmatically hence the problem is fixed.

Notice the PreTranslateMessage() of CAcUiDockControlBar is overrided in this
case.
BOOL CSampDialogBar::PreTranslateMessage(MSG* pMsg)
{
        // this is to fix the tooltip shown behind
        // the undocked bar problem
        m_tree.GetToolTips()->SetWindowPos(&wndTop, 0, 0, 0, 0,
                SWP_NOMOVE  | SWP_NOSIZE | SWP_NOACTIVATE | SWP_NOOWNERZORDER);
        return CAcUiDockControlBar::PreTranslateMessage(pMsg);;

}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-30 20:35:54 | 显示全部楼层
Combobox/mouse over/disappear and text size in dockbar  
ID    44965  
Applies to:    AutoCAD 2000

Date    6/22/2000  

This document is part of    AcUi/AdUi   ObjectARX   MFC   User Interface   ObjectARX Technical Newsletter - November 1999     


Question
After successfully following the the CAcUiDockControlBar sample, I place a combo
box or a CAcUiXXXComboBox at the bottom portion the dockbar. If I expand the
combobox so the items are expanded, I can select an entry, but when I move the
mouse cursor over the expanded portion, it disappears. The text size in the
color combobox is larger than the tree control in the dockbar.
Answer
If you use CAcUiXXXComboBox(s), you'll need to make sure the following combobox
styles are set:

Type: Drop List
Owner draw: Fixed
Enable the "Has strings" option, and clear "Sort" and enable "Vertical
scroll".

When the expanded portion disappears, it is by design. When you move the mouse
cursor outside a dockbar, the cursor needs to be changed to be an Acad cursor
type. Therefore, if you have a combo box that expands over any Acad's
properties, Acad will get its cursor back.

At the time when CAcUiDockControlBar is created, this issue existed. There is a
undocumented function CanFrameworkTakeFocus() of the CAcUiDockControlBar (comes
with the SDK), which controls the behavior. To change it, override it and return
false,
bool CSampDockBar::CanFrameworkTakeFocus()
{
   return false;
}
Now you should be able to select the expanded items out of the combobox.

3. In regards to combobox's text size, it is too big because it will be whatever
default is out there since itself doesn't have a font size set. To overcome it,
just get a font you want from something and set to it, for example, in your
::OnCreate()
int CSampDockBar::OnCreate(...)
{
   // ...
   m_combo.SetFont(m_tree.GetFont());
   // ...
}
A fully implemented sample is attached.

Also see DevNote #41309
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-8-30 20:37:34 | 显示全部楼层
How to use some of the acui features?  
ID    41309  
Applies to:    AutoCAD 2000

Date    5/18/2000  

This document is part of    AcUi/AdUi   ObjectARX   MFC   ObjectARX Technical Newsletter - October 1999   ObjectARX Technical Newsletter - November 1999     


Question
How do I use some of the ACUI features in AutoCAD 2000? Specifically, how do I
use  AcUiDockControlBar and the ActiveX control in it? I don't know how to
display the dock bar and the ActiveX control seems to disappear when I insert it
into a project and am able to view it in the Resource editor.
Answer
Some of the AcUi features are not intuitive as third party developers do not
have access to the AutoCAD frame window source code. Because the frame window is
usually where the dock site and dockbars are handled, it has created some
difficulty for third party developers. To compound matters, not much detailed
documentation exists for AcUi features.

Fortunately, there are other approaches to take. For the dockable control bar,
we have implemented the CAcUiDockControlBar. Most of the wor behind the API so
for the developers, it is relative easy.

A sample application is attached that fully demonstrates how to make it work.

NOTE: The attached sample assumes you have knowledge about the MFC extension
DLL, temporary resource overrides, and workarounds to the the debug/release.

To explain some of the specialties, for example, you need to follow a specific
calling sequence to create the dockbar. In addition, the following code allows
you to save and restore the dockbar state:
//
// a unique ID
//
static CLSID clsIDControlBar = // {9856E678-A4F7-11d2-BA6A-0060B0B5E151}
        { 0x9856e678, 0xa4f7, 0x11d2, { 0xba, 0x6a, 0x0, 0x60, 0xb0, 0xb5, 0xe1,
0x51 }
};
//
// notice the global variable gpDlgBar
//
void testDlgBar()
{
        CMDIFrameWnd *pAcadFrame = acedGetAcadFrame();
        if(!gpDlgBar)
        {
                gpDlgBar = new CTestDialogBar;
                CAcModuleResourceOverride resOverride;
                const char dlgName[] = "TestDialogBar";
                gpDlgBar->Create(pAcadFrame, dlgName);
                gpDlgBar->SetToolID (&clsIDControlBar);
                gpDlgBar->EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_RIGHT);
                gpDlgBar->RestoreControlBar();
        }
        else
                pAcadFrame->ShowControlBar (gpDlgBar, TRUE, FALSE);
}
Regarding the disappearance of the ActiveX control or other types of control in
the CAcUiDockControlBar, this behavior is different than what you usually
experience in MFC when you insert a resource into a dialog or dialog bar
template.

To make it work, you first need to call Create() method to create the ActiveX
control. Secondly,  subclass the window so that messages can be directed
through. Thirdly, handle resizing so your control is sized properly all the
time.

The attached sample demonstrates two type of controls in the dockbar. One is a
treeview control; the other is the Whip OCX control.

NOTE: This sample also demonstrates some other features of AcUi.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-1 13:32:07 | 显示全部楼层
加控件地问题我解决了,但是我想加上一个菜单,我该怎么做?
能有一个简单地代码吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-9-1 13:33:58 | 显示全部楼层
请看我地简单地程序,见附件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-17 08:58:15 | 显示全部楼层
下载文件已坏
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-17 16:34:27 | 显示全部楼层
怎么晓东也上坏的文件
还是我的解压缩工具有问题?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-17 17:27:04 | 显示全部楼层

谁保存有这几个附件?

帮忙请发到信箱reader_xyz@163.com
谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-12-18 09:58:28 | 显示全部楼层
这是我很早以前的帖子,sorry,我重新上传了附件,不知道为什么,附件会坏掉:(
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-27 16:21:35 | 显示全部楼层
noname [你能重新上载吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-4 10:42:27 | 显示全部楼层
能不能多提供一些不需要爱心贝的下载
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-22 17:21:19 | 显示全部楼层
好象文件打不开,能不能从新提供
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-7 13:21:26 | 显示全部楼层
XD院长您好,您上传的文件不能打开,可能坏了,而我现在急需上面两个例子,同时也看到论坛上许多人想要。院长能不能重新上传或给我发一次email:buanhui@sohu.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-7 15:50:52 | 显示全部楼层
这个贴子里面的附件都坏了。。。  :(
能不能重新上传下?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 14:24 , Processed in 0.470311 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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