如何实现工具栏右面的下拉箭头?

bright2k 2003-06-14 08:02:48
就是工具栏不能完全显示出来时,
右面会出现的那个>>形状的肩头,
就像ie里那样
...全文
53 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwvista 2003-06-15
  • 打赏
  • 举报
回复
直接在AppWizard里应用Rebar就行了
zwvista 2003-06-15
  • 打赏
  • 举报
回复
这是Rebar的特征,不是工具栏
ggw 2003-06-15
  • 打赏
  • 举报
回复
wangjs720(听雨舟) :
请问何以得知需要此函数,用classwizard是怎么操作?
void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr)

wangjs720 2003-06-15
  • 打赏
  • 举报
回复
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;

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(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}

if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}

// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

//
DWORD dwExStyle = TBSTYLE_EX_DRAWDDARROWS;
m_wndToolBar.GetToolBarCtrl().SendMessage(TB_SETEXTENDEDSTYLE, 0, (LPARAM)dwExStyle);

DWORD dwStyle = m_wndToolBar.GetButtonStyle(m_wndToolBar.CommandToIndex(ID_FILE_OPEN));
dwStyle |= TBSTYLE_DROPDOWN;
m_wndToolBar.SetButtonStyle(m_wndToolBar.CommandToIndex(ID_FILE_OPEN), dwStyle);

return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers

void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr)
{
CWnd *pWnd;
UINT nID;

// Switch on button command id's.
switch (pnmtb->iItem)
{
case ID_FILE_OPEN:
pWnd = &m_wndToolBar;
nID = IDR_MENU1;
break;
default:
return;
}

// load and display popup menu
CMenu menu;
menu.LoadMenu(nID);
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup);

CRect rc;
pWnd->SendMessage(TB_GETRECT, pnmtb->iItem, (LPARAM)&rc);
pWnd->ClientToScreen(&rc);

pPopup->TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_VERTICAL,
rc.left, rc.bottom, this, &rc);
}

祝你好运
kingcom_xu 2003-06-15
  • 打赏
  • 举报
回复
http://www.codeproject.com/docking/chevrons.asp
ggw 2003-06-15
  • 打赏
  • 举报
回复
MSDN->CToolBarCtrl, using中有一个详细的例子,我也在学习,但不知道怎样加上通知捕获函数(用classwizard怎样操作)?
bright2k 2003-06-15
  • 打赏
  • 举报
回复
那怎么让Rebar显示出这个特征呢,
bright2k 2003-06-15
  • 打赏
  • 举报
回复
错了,
上面说的是 wangjs720(听雨舟) 的程序
bright2k 2003-06-15
  • 打赏
  • 举报
回复
to: ggw(格格巫)
你的程序是工具栏上的下拉按钮,我想要的是整个toolbar右面的>>形状的下拉按钮

谢谢 kingcom_xu(我们去倒分吧,倒个MVP玩玩) 的文章,
回楼上,参数应该是 RBBS_USECHEVRON
FreeSeagull 2003-06-15
  • 打赏
  • 举报
回复
找到了,就是这个风格参数:CBRS_SIZE_DYNAMIC
bright2k 2003-06-14
  • 打赏
  • 举报
回复
没找到那个什么参数啊,
谁来告诉我
bright2k 2003-06-14
  • 打赏
  • 举报
回复
还有,
如何用SDK实现呢?
bright2k 2003-06-14
  • 打赏
  • 举报
回复
谢谢先,
可用什么参数呢?
FreeSeagull 2003-06-14
  • 打赏
  • 举报
回复
创建的时候设置上一个参数就可以了,具体哪个忘记了。
Ieonardesque 2003-06-14
  • 打赏
  • 举报
回复
rebar
实训项目二Word综合应用示例 实 训 项 目 二 W o r d 综 合 应 用 实训满分20分。 以日常应用为基础,设计一个综合运用Word基本操作技能解决实际问题的文档 。文 档内容要求包括以下基本操作和元素: 标题、正文、页眉/页脚/页码、首行缩进、分栏、边框和底纹、图片水印、表 格及内容 (含表头斜线)、自选图形、艺术字、文本框、SmartArt图形、自定义页面等。 实训项目提交内容:(1)实训项目详细任务说明。(2)实训项目结果文档。 标题:打开Word,在文档内输入想要的标题内容,点击上方"开始",右侧可以 设置预设的标题格式。 正文:右键点击正文,选择修改,设置正文字体,然后就是修改段落格式,点 格式-段 落,常见的段落设置有缩进设置,一般是首行缩进2字符,然后就是行距设置,设置完正 文 格式的文字就统一修改完成。 页眉/页脚/页码:打开Word文档,页眉与页 脚的添加。单击插入——页眉/页脚,在内 嵌的格式选择一个并输入文字。页眉页脚的修改。双击工作区域,选中页眉/页脚内容就 可 以修改。单击设计一一在右边选择关闭页眉页脚,就可以关闭页眉页脚了。页眉页脚的 删 除。单击插入一一选择页眉/以脚一一在最底部选择删除页眉/页脚,就可以把页眉页脚 删除。设置完成单击保存就可以了。 首行缩进:首先把要设置首行缩进的段落选中。单击"开始"菜单选项卡,在 工具栏中的单击"段落对话框"按钮,将会弹由段落对话框。在弹由的段落对话框中,在 "缩进和 间距"选项卡中的"缩进"组中有一个"特殊格式"参数,默认情况下此参数的值为"无 单击下拉列表,从下拉列表中选择"首行缩进选择了"首行缩进"后,在"磅值"处 设 置缩进的字符数,把缩进字符数设置为"2字符单击确定按钮,则选中的段落中首 行均向内缩进了2个字符的效果。 分栏:选中需要分栏的内容->点击word菜单中的【页面布局】- >点击页面设置选项卡中的【分栏】->在弹由的窗口中点击【两栏】即可. 边框和底纹:打开需要添加边框和底纹的Word文档。选中准备添加边框和底纹 的内 容,在"开始"选项卡中找到边框命令。在下拉菜单中选中相应的框线,被选中的框线就 会被添加到选中内容。如果预设框线不满意的话,点选下拉菜单下的"边框和底纹"。在 "边框和底纹"对话框中选择满意的线条样式、颜色、宽度等,点击确定,设置好的线条 就会被 添加到正文中。在对话框中选中底纹,设置好要添加的颜色。点击确定后,被选中的颜 色就 会添加到正文中. 图片水印:切换到"设计"选项卡下,在页面背景组中,单击"水印"按钮,这 个时候会弹由一个下拉列表,在弹由的下拉列表中选择"自定义水印"选项。弹由"水印" 对话 实训项目二Word综合应用示例 1 实训项目二Word综合应用示例 框,从而选中文字水印按钮,在文字下拉列表中选择部门绝密选项,在字体下拉列表中 ,选 择黑体,字号和颜色自行设置即可,其他选项保持默认即可。返回到word文档中,就可 以看到设置的效果如何了。 表格及内容(含表头斜线):新建一张需要插入斜线表头的表格。设置两个项 目的斜 线表头。选中左上角的单元格,右键菜单点击单元格属性,接着点击属性中的"边框和底 纹",在弹由的"边框和底纹"对话框中选择单元格中插入斜线,确定。左上角单元格曲线 斜线。 可以在分隔开的单元格中输入文字项目。这是分两行输入文字项目的情况。可以通过文 字 的位置来使其显得更加美观一些。 自选图形:光标定位在需要插入自选图形的位置。点击"插入"-- "形状"。在"形状 的下拉选项中,我们点击选择自己需要的形状。拖动鼠标插入需要的图形。如果需要插 入正 圆、正方形或者等边三角形,我们需要握住shift键。单击图形,呈现选定状态,把鼠标 放到蓝色小点处,我们可以拖拉鼠标改变图形的大小等。鼠标移动到图形上方的点上, 光标变 旋转箭头,拖动对图形进行旋转。在添加完成的图形上右击鼠标,我们在弹由菜单选择 "设 置自选图形格式"。可以为图形改变线条颜色、粗细,添加填充效果等。 艺术字:在顶部菜单栏中找到"开始",展开菜单,找到艺术字的选项按钮, 点击打开,在艺术字的设置界面当中,我们可以选择自己喜欢的一种艺术字形式,同时 也可以设 置文字的阴影和发光效果等。 文本框:在Word中插入文本框。插入--文本框--绘制文本框 SmartArt图形:在选择需要插入现状位置之前的图形,单击"设计"选项卡的 "创建图形"组中的"添加形状"按钮,在弹由的下拉列表中选择"左下方添加形状"选项, 之后便可在选择图形的下方添加新的形状 自定义页面:打开Word文档,然后在文档中输入对应的内容,点击上方的页面 布局 示例范文如下: 购买笔记本电脑知识点 上海整形上海整形医院上海整形 美 容医院美白针价格 液晶屏上海整形上
实训项目二 Word 综合应用 实训满分20分。 以日常应用为基础,设计一个综合运用 Word 基本操作技能解决实际问题的文档。文档内容要求包括以下基本操作和元素: 标题、正文、页眉/页脚/页码、首行缩进、分栏、边框和底纹、图片水印、表格及内 容(含表头斜线)、自选图形、艺术字、文本框、SmartArt 图形、自定义页面等。 实训项目提交内容:(1)实训项目详细任务说明。(2)实训项目结果文档。 标题:打开Word,在文档内输入想要的标题内容,点击上方"开始",右侧可以设置预 设的标题格式。 正文:右键点击正文,选择修改,设置正文字体,然后就是修改段落格式,点格式- 段落,常见的段落设置有缩进设置,一般是首行缩进2字符,然后就是行距设置,设置完 正文格式的文字就统一修改完成。 页眉/页脚/页码:打开Word文档,页眉与页脚的添加。单击插入——页眉/页脚,在内 嵌的格式选择一个并输入文字。页眉页脚的修改。双击工作区域,选中页眉/页脚内容就 可以修改。单击设计——在右边选择关闭页眉页脚,就可以关闭页眉页脚了。页眉页脚的 删除。单击插入——选择页眉/页脚——在最底部选择删除页眉/页脚,就可以把页眉页脚删 除。设置完成单击保存就可以了。 首行缩进:首先把要设置首行缩进的段落选中。单击"开始"菜单选项卡,在工具栏中 的单击"段落对话框"按钮,将会弹出段落对话框。在弹出的段落对话框中,在"缩进和间 距"选项卡中的"缩进"组中有一个"特殊格式"参数,默认情况下此参数的值为"无",单击 下拉列表,从下拉列表中选择"首行缩进"。选择了"首行缩进"后,在"磅值"处设置缩进 的字符数,把缩进字符数设置为"2字符"。单击确定按钮,则选中的段落中首行均向内缩 进了2个字符的效果。 分栏:选中需要分栏的内容->点击word菜单中的【页面布局】- >点击页面设置选项卡中的【分栏】->在弹出的窗口中点击【两栏】即可. 边框和底纹:打开需要添加边框和底纹的Word文档。选中准备添加边框和底纹的内容 ,在"开始"选项卡中找到边框命令。在下拉菜单中选中相应的框线,被选中的框线就会 被添加到选中内容。如果预设框线不满意的话,点选下拉菜单下的"边框和底纹"。在"边 框和底纹"对话框中选择满意的线条样式、颜色、宽度等,点击确定,设置好的线条就会 被添加到正文中。在对话框中选中底纹,设置好要添加的颜色。点击确定后,被选中的 颜色就会添加到正文中. 图片水印:切换到"设计"选项卡下,在页面背景组中,单击"水印"按钮,这个时候会 弹出一个下拉列表,在弹出的下拉列表中选择"自定义水印"选项。弹出"水印"对话框, 从而选中文字水印按钮,在文字下拉列表中选择部门绝密选项,在字体下拉列表中,选 择黑体,字号和颜色自行设置即可,其他选项保持默认即可。返回到word文档中,就可 以看到设置的效果如何了。 表格及内容(含表头斜线):新建一张需要插入斜线表头的表格。设置两个项目的斜 线表头。选中左上角的单元格,右键菜单点击单元格属性,接着点击属性中的"边框和底 纹",在弹出的"边框和底纹"对话框中选择单元格中插入斜线,确定。左上角单元格出线 斜线。可以在分隔开的单元格中输入文字项目。这是分两行输入文字项目的情况。可以 通过文字的位置来使其显得更加美观一些。 自选图形:光标定位在需要插入自选图形的位置。点击"插入"-- "形状"。在"形状"的下拉选项中,我们点击选择自己需要的形状。拖动鼠标插入需要的 图形。如果需要插入正圆、正方形或者等边三角形,我们需要摁住shift键。单击图形, 呈现选定状态,把鼠标放到蓝色小点处,我们可以拖拉鼠标改变图形的大小等。鼠标移 动到图形上方的点上,光标变旋转箭头,拖动对图形进行旋转。在添加完成的图形上右 击鼠标,我们在弹出菜单选择"设置自选图形格式"。可以为图形改变线条颜色、粗细, 添加填充效果等。 艺术字:在顶部菜单栏中找到"开始",展开菜单,找到艺术字的选项按钮,点击打开 ,在艺术字的设置界面当中,我们可以选择自己喜欢的一种艺术字形式,同时也可以设 置文字的阴影和发光效果等。 文本框:在Word中插入文本框。插入--文本框--绘制文本框 SmartArt 图形:在选择需要插入现状位置之前的图形,单击"设计"选项卡的"创建图形"组中的"添 加形状"按钮,在弹出的下拉列表中选择"左下方添加形状"选项,之后便可在选择图形的 下方添加新的形状 自定义页面:打开Word文档,然后在文档中输入对应的内容,点击上方的页面布局- 页边距-自定义边距,即可进入页面设置界面 示例范文如下: 购买笔记本电脑知识点 上海整形 上海整形医院 上海整形美容医院 美白针价格 液晶屏上海整形 上海整形医院 上海整形美容医院 美白针价格 买笔记本最头疼的就是坏点,毕竟谁也不愿意自己新买的笔记

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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