找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1074|回复: 5

[ARX程序]:CAdUiDialogBar使用问题

[复制链接]
发表于 2005-2-27 04:01:18 | 显示全部楼层 |阅读模式

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

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

×
CAdUiDialogBar使用有以下问题:
1,CAdUiDialogBar与其他的工具条不能在同一行,为什么?

2,CAdUiDialogBar的CButton 不能使用,为什么?


我的代码如下:


////////////////////////////////////////////////////////////////////////////////////////////////////////
//对话栏头文件cbar.h
#if !defined(AFX_CBAR_H__BA72699F_E350_4ACF_89FC_0C6B008303F3__INCLUDED_)
#define AFX_CBAR_H__BA72699F_E350_4ACF_89FC_0C6B008303F3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// cbar.h : header file
//

#include "AcDialogBar.h"
#include "resource.h"

/////////////////////////////////////////////////////////////////////////////
// cbar dialog

class cbar : public CAcUiDialogBar
{
// Construction
public:
        cbar(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
        //{{AFX_DATA(cbar)
        enum { IDD = IDD_DIALOG1 };
        CButton        m_btn;
        CComboBox        m_list;
        CString        m_str;
        //}}AFX_DATA


// Overrides
        // ClassWizard generated virtual function overrides
        //{{AFX_VIRTUAL(cbar)
        protected:
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
        //}}AFX_VIRTUAL

// Implementation
protected:

        // Generated message map functions
        //{{AFX_MSG(cbar)
        afx_msg void OnButton1();
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CBAR_H__BA72699F_E350_4ACF_89FC_0C6B008303F3__INCLUDED_)



///////////////////////////////////////////////////////////////////////////////////////////////////////
///对话栏实现文件
// cbar.cpp : implementation file
//

#include "stdafx.h"
#include "resource.h"
#include "cbar.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// cbar dialog


//cbar::cbar(CWnd* pParent /*=NULL*/)
//        : CDialog(cbar::IDD, pParent)

cbar::cbar (CWnd* pParent) : CAcUiDialogBar()
{
        //{{AFX_DATA_INIT(cbar)
        m_str = _T("");
        //}}AFX_DATA_INIT
}


void cbar::DoDataExchange(CDataExchange* pDX)
{
        CAcUiDialogBar::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(cbar)
        DDX_Control(pDX, IDC_BUTTON1, m_btn);
        DDX_Control(pDX, IDC_COMBO1, m_list);
        DDX_Text(pDX, IDC_EDIT1, m_str);
        //}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(cbar, CAcUiDialogBar)
        //{{AFX_MSG_MAP(cbar)
        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// cbar message handlers

void cbar::OnButton1()
{
        // TODO: Add your control notification handler code here
        this->UpdateData();
        AfxMessageBox(m_str);
}





///////////////////////////////////////////////////////////////////////////////////////////////////////
//对话栏创建命令,command 'DIA'
/////////////////////////////////////////////
// ObjectARX defined commands

#include "StdAfx.h"
#include "StdArx.h"
#include "cbar.h"
#include "resource.h"
#include "aduiDock.h"

extern cbar* pbar;
extern HINSTANCE _hdllInstance;
// This is command 'DIA'
void mdia()
{
        // TODO: Implement the command

        if(!pbar)
        {
                AfxSetResourceHandle(_hdllInstance) ;
                pbar = new cbar;
                if(!pbar->Create(acedGetAcadFrame(),IDD_DIALOG1,CBRS_TOP,NULL))
                //if(!pbar->Create(acedGetAcadFrame(),"mmm"))
                {
                        TRACE0("Failed to create DlgBar\n");
                        return ;      // fail to create
                }
                AfxSetResourceHandle(acedGetAcadResourceInstance());

                pbar->EnableDocking(CBRS_ALIGN_ANY);
                acedGetAcadFrame()->DockControlBar (pbar, CBRS_ALIGN_TOP);
                pbar->SetWindowText("pbar");
        }

        acedGetAcadFrame()->ShowControlBar(pbar, TRUE, FALSE);
        acedGetAcadFrame()->RecalcLayout();//重新排列窗口

        //AcUiMainWindow()->RedrawWindow();
       
        //AdUiShowDockControlBars(true);

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-12 10:43 , Processed in 0.368213 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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