找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: Hellow

[公告]:给大家看一个可自动隐藏的停靠面板

[复制链接]
发表于 2005-4-16 13:56:30 | 显示全部楼层
我用的是网易POPO,lionliron@163.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-4-16 19:01:23 | 显示全部楼层
还是请hellow大哥,解释一下面板管理器是如何创建的:
面板管理器:
就是CWnd的派生类,CAD主窗体的直接子窗体,由它直接与CAD主窗体结合,其它任何子窗体都以它为父窗体创建。
谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-18 13:34:21 | 显示全部楼层
我来告诉你吧:
{
......acedRegCmds -> addCommand(...."fun"...);

}

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

使用道具 举报

发表于 2005-4-18 13:57:45 | 显示全部楼层
我就是用lrion你这种方法做的,但是如下的消息处理你又何解决呢!
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
    //{{AFX_MSG_MAP(CMainFrame)
    ON_WM_CREATE()
    //}}AFX_MSG_MAP
    ON_MESSAGE(XTPWM_DOCKINGPANE_NOTIFY, OnDockingPaneNotify)
END_MESSAGE_MAP()

LRESULT CMainFrame::OnDockingPaneNotify(WPARAM wParam, LPARAM lParam)
{
    if (wParam == XTP_DPN_SHOWWINDOW)
    {
        CXTPDockingPane* pPane = (CXTPDockingPane*)lParam;
        
        if (!pPane->IsValid())
        {
            switch (pPane->GetID())
            {
            case IDR_PANE_PROPERTIES:
                {                           
                    if (m_wndProperties.GetSafeHwnd() == 0)
                    {
                        m_wndProperties.Create(WS_CHILD|
                            ES_AUTOVSCROLL|ES_MULTILINE,
                            CRect(0, 0, 0, 0), this, 0);
                    }
                    pPane->Attach(&m_wndProperties);
                    break;
                }
            case IDR_PANE_OPTIONS:
                {                           
                    if (m_wndOptions.GetSafeHwnd() == 0)
                    {
                        m_wndOptions.Create(_T("\n\nOptions"),
                            WS_CHILD|WS_CLIPCHILDREN|
                            WS_CLIPSIBLINGS|SS_CENTER,
                            CRect(0, 0, 0, 0), this, 0);
                    }
                    pPane->Attach(&m_wndOptions);
                    break;
                }
            }
        }
        return TRUE;
    }
    return FALSE;
}

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

使用道具 举报

发表于 2005-4-21 08:58:31 | 显示全部楼层
请教Hellow, 你的所有其它控件包括菜单条,工具条,TreeCtrl都是创建在5#面板上的吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-21 13:25:41 | 显示全部楼层
看来不少人用面版,我也铁一张。我用的是CSizingControlBar(mfc);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-21 22:39:15 | 显示全部楼层
最初由 rackyye 发布
[B]请教Hellow, 你的所有其它控件包括菜单条,工具条,TreeCtrl都是创建在5#面板上的吗? [/B]

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

使用道具 举报

发表于 2005-4-22 12:37:16 | 显示全部楼层
那你的1~5#面板都是创建在一个DialogBar上?还是把所有面板创建到一个框架里,再把这框架创建到DialogBar上?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-22 22:24:39 | 显示全部楼层
NO!
1#是将一个CEdit直接附着到面板上
2#是将一个CListCtrl直接附着到面板上
3#是将一个CTreeCtrl直接附着到面板上
4#是先创建一个无边框的对话框,在其上放了一些控件,然后用一个无模态对话框类管理此对话框模板,在将此无模态对话框附着到面板上。
5#面板是将一个框架窗体附着到面板上,再在框架窗体内创建东西。
这个例子是当时测试XTP库的,平常不做这么麻烦的,只不过效果还不错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-23 07:36:18 | 显示全部楼层
hellow你这个面板是什么东西,是XTP里的CXTPDockingPaneManager还是MFC里DialogBar,关键的是就是这个面板做父窗口的,如果是一般的面板不具备停靠的功能啊!
谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-23 19:54:11 | 显示全部楼层
1、关于面板的管理,你可以不用管,因为面板管理器会管理他们(包括他们的显示、隐藏、停靠、附着、脱离等)。
2、面板由面板管理器创建,是一个非CWnd对象,所以没有父窗体。
3、所有面板内的CWnd对象的父窗体与面板管理器的父窗体一样,都是与CAD主窗体的主接口窗体,这样,可以方便的接收通告。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-23 22:24:33 | 显示全部楼层
还是不明白你的意思?
2、面板由面板管理器创建,是一个非CWnd对象,所以没有父窗体。
究竟这个面板是一个什么的类,是XTP里的那个吗(CXTPDockingPaneManager);
还请你解释详细一些,关键就是这个了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-24 10:09:29 | 显示全部楼层
不会吧,看样子你有XTP库,但是提的问题让人费解!
看看CXTPDockingPane *CXTPDockingPaneManager::CreatePane(...),返回的就是已创建好的面板,面板的类结构你可以看一下XTP的文档呀!
CXTPDockingPane就是我说的面板,全名叫可停靠面板。
对待实际问题应先自己思考,查资料,摸索,实在不行了再提问,这样效果会好一些,因为许多问题若要从根本上回答清楚的话,涉及的内容就比较多了(如C++知识、MFC知识等).
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 16:42 , Processed in 0.419860 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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