在mfc怎样在工具条中添加编辑框

 我来答
mia☆jiancha☆ce6608
2011-07-20 · TA获得超过1525个赞
知道小有建树答主
回答量:713
采纳率:100%
帮助的人:472万
展开全部
在CMainFrame中建两个对象
CMFCToolBar m_myToolBar; //工具条
CComboBox m_comboList; //下拉框
创建一个工具栏资源IDR_MYTOOLBAR,其中一个按钮id为ID_BUTTONCOMBO
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)添加 ,代码如下:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;

BOOL bNameValid;
// 基于持久值设置视觉管理器和样式
OnApplicationLook(theApp.m_nAppLook);

if (!m_wndMenuBar.Create(this))
{
TRACE0("未能创建菜单栏\n");
return -1; // 未能创建
}

m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);

// 防止菜单栏在激活时获得焦点
CMFCPopupMenu::SetForceMenuFocus(FALSE);

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}

if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_myToolBar.LoadToolBar(IDR_MYTOOLBAR ))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}

CString strToolBarName;
bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
ASSERT(bNameValid);
m_wndToolBar.SetWindowText(strToolBarName);

CString strCustomize;
bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);

// 允许用户定义的工具栏操作:
InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);

if (!m_wndStatusBar.Create(this))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));

// TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
m_myToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
DockPane(&m_myToolBar);

// 启用 Visual Studio 2005 样式停靠窗口行为
CDockingManager::SetDockingMode(DT_SMART);
// 启用 Visual Studio 2005 样式停靠窗口自动隐藏行为
EnableAutoHidePanes(CBRS_ALIGN_ANY);

// 启用工具栏和停靠窗口菜单替换
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);

// 启用快速(按住 Alt 拖动)工具栏自定义
CMFCToolBar::EnableQuickCustomization();

// if (CMFCToolBar::GetUserImages() == NULL)
// {
// // 加载用户定义的工具栏图像
// if (m_UserImages.Load(_T(".\\UserImages.bmp")))
// {
// m_UserImages.SetImageSize(CSize(16, 16), FALSE);
// CMFCToolBar::SetUserImages(&m_UserImages);
// }
// }

// 启用菜单个性化(最近使用的命令)
// TODO: 定义您自己的基本命令,确保每个下拉菜单至少有一个基本命令。
CList<UINT, UINT> lstBasicCommands;

lstBasicCommands.AddTail(ID_FILE_NEW);
lstBasicCommands.AddTail(ID_FILE_OPEN);
lstBasicCommands.AddTail(ID_FILE_SAVE);
lstBasicCommands.AddTail(ID_FILE_PRINT);
lstBasicCommands.AddTail(ID_APP_EXIT);
lstBasicCommands.AddTail(ID_EDIT_CUT);
lstBasicCommands.AddTail(ID_EDIT_PASTE);
lstBasicCommands.AddTail(ID_EDIT_UNDO);
lstBasicCommands.AddTail(ID_APP_ABOUT);
lstBasicCommands.AddTail(ID_VIEW_STATUS_BAR);
lstBasicCommands.AddTail(ID_VIEW_TOOLBAR);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2003);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_VS_2005);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLUE);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_SILVER);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_BLACK);
lstBasicCommands.AddTail(ID_VIEW_APPLOOK_OFF_2007_AQUA);

CMFCToolBar::SetBasicCommands(lstBasicCommands);

int index = 0;
RECT rect;
//找到指定的工具项
while(m_myToolBar.GetItemID(index)!=ID_BUTTONCOMBO)
index++;
//设置指定工具项的宽度并获取新的区域 80是宽度
m_myToolBar.SetButtonInfo(index, ID_BUTTONCOMBO, TBBS_SEPARATOR, 60);
m_myToolBar.GetItemRect(index, &rect);

//设置位置
// rect.top+=2;
// rect.bottom += 200;
rect.left = 0;
rect.top = 2;
rect.right = 60;
rect.bottom = 200;
// 创建并显示控件

if(!m_comboList.Create(WS_CHILD|WS_VISIBLE| CBS_AUTOHSCROLL| CBS_DROPDOWNLIST | CBS_HASSTRINGS , rect,
&m_myToolBar, ID_BUTTONCOMBO))
{
TRACE0("Failed to create combo-box\n");
return FALSE;
}

//填充内容

m_comboList.AddString("25%");
m_comboList.AddString("50%");
m_comboList.AddString("75%");
m_comboList.AddString("100%");
m_comboList.AddString("125%");
m_comboList.AddString("150%");
m_comboList.AddString("175%");
m_comboList.AddString("200%");

//选择默认项
m_comboList.SetCurSel(3);
m_comboList.ShowWindow(SW_SHOW);

return 0;
}

希望对你有帮助,这个以前我做过的,忘了,刚才看了你的题又花了老多时间看了一下。。。。
匿名用户
2011-07-21
展开全部
<script>
function setname(name){
document.getElementById('get_name').value = name;
}
function setvalue(){
var txt = document.getElementById('get_name').value;
document.getElementById(txt).value = '123123';
}
</script>
<input type="text" name="textfield" id="textfield" onfocus="setname('textfield')" /><br />
<input type="text" name="textfield2" id="textfield2" onfocus="setname('textfield2')" /><br />
<input type="hidden" name="get_name" id="get_name" value="" />
<input type="submit" name="button" id="button" value="提交" onclick="setvalue()" />
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式