- 积分
- 572
- 明经币
- 个
- 注册时间
- 2004-12-9
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
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);
} |
|