明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1550|回复: 0

[ARX]CAdUiDialogBar使用

[复制链接]
发表于 2005-2-27 04:32:00 | 显示全部楼层 |阅读模式
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); }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 09:48 , Processed in 0.170157 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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