VC中如何在工具条是添加文本框等控件?

烤火的鱼 2000-06-12 07:12:00
VC中如何在工具条是添加文本框等控件?
我想在工具条上添加文本框等控件,先建立了两个类,分别以CToolBar和CEdit为基类,再toolbar中使用edit的creat函数进行创建,运行后发现工具条上的文本框控件显示不出来,请问该如何做?
...全文
924 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhangChengGang 2000-07-01
  • 打赏
  • 举报
回复
用 CRebar 挺好的
largename 2000-07-01
  • 打赏
  • 举报
回复
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
.....
m_pComboBox = (CComboBox*)m_TempToolBar.InsertControl(
RUNTIME_CLASS(CComboBox), _T(""), CRect(-200,-200,0,30), ID_FiberListBox,
WS_CHILD | CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | CBS_HASSTRINGS );

for (int i = 0; i < 5; ++i) {
CString str;
str.Format(_T("Combo String %d"), i);
m_pComboBox->AddString(str);
}
m_pComboBox->SetCurSel(0);
return 0;
}
土豆 2000-06-26
  • 打赏
  • 举报
回复
下面是添加一个CComboBox的步骤:第一步,在ToolBar上你要添加的控件的位置添加一个按钮,设置它的ID为IDP_PLACEHOLDER

第二步,从CToolBar派生呢自己的ToolBar类,
class CMainToolBar : public CToolBar
{
public:
CComboBox m_wndSnap;
};
第三步,在MainFrame.h中用你自己的ToolBar类代替CToolBar类
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CMainToolBar m_wndToolBar;
在MainFrame的OnCreate方法中将第一步中添加的按钮用你的控件代替。

int SMCMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{

#define SNAP_WIDTH 80 //the width of the combo box

index = 0;
while (m_wndToolBar.GetItemID(index) != IDP_PLACEHOLDER) index++;

m_wndToolBar.SetButtonInfo(index, IDP_PLACEHOLDER, TBBS_SEPARATOR,
SNAP_WIDTH);
m_wndToolBar.GetItemRect(index, &rect);

rect.top+=2;
rect.bottom += 200;

if (!m_wndToolBar.m_wndSnap.Create(WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|
CBS_DROPDOWNLIST|CBS_HASSTRINGS,
rect, &m_wndToolBar, IDC_SNAP_COMBO))
{
TRACE0("Failed to create combo-box\n");
return FALSE;
}
m_wndToolBar.m_wndSnap.ShowWindow(SW_SHOW);

//fill the combo box
m_wndToolBar.m_wndSnap.AddString("SNAP OFF");
m_wndToolBar.m_wndSnap.AddString("SNAP GRID");
m_wndToolBar.m_wndSnap.AddString("SNAP RASTER");
m_wndToolBar.m_wndSnap.AddString("SNAP VERTEX");
m_wndToolBar.m_wndSnap.AddString("SNAP LINE");
m_wndToolBar.m_wndSnap.SetCurSel(0);
}

Do you understand?

yea
zzt 2000-06-20
  • 打赏
  • 举报
回复
You can try CReBar
蒋晟 2000-06-20
  • 打赏
  • 举报
回复
See MFC DockTool Sample.
dzl 2000-06-20
  • 打赏
  • 举报
回复

Place Controls on ToolBars
http://codeguru.earthweb.com/toolbar/ctrls_in_tb.shtml

译文在:
http://www.vchelp.net/article/put_ctrl_on_toolbar.htm
sunqi 2000-06-20
  • 打赏
  • 举报
回复
toolbar 类增加 edit 类变量,然后用create,并在toolbar的onsize函数中添加movewindow函数指定需要edit显示的位置
hyqer 2000-06-20
  • 打赏
  • 举报
回复
重载CToolBar,在派生类中加入CEdit型成员.
orangetouch 2000-06-20
  • 打赏
  • 举报
回复
再工具条的父窗口的OnCreate()函数里用Create函数,把父窗口指定成工具条就可以了
vcmfc 2000-06-12
  • 打赏
  • 举报
回复
主页里的vc资料有相关例子!,找一找?,找不到发个email给我.
Sniper 2000-06-12
  • 打赏
  • 举报
回复
用CDialogBar就可以了,很容易的。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧