- UID
- 80205
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-9-17
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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);
} |
|