搜档网
当前位置:搜档网 › MFC工具栏ToolBar按钮添加下拉菜单

MFC工具栏ToolBar按钮添加下拉菜单

MFC工具栏ToolBar按钮添加下拉菜单
MFC工具栏ToolBar按钮添加下拉菜单

MFC工具栏ToolBar按钮添加下拉菜单(转)

2010-07-04 11:00

1.在MainFrm.cpp的int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数末尾添加如下代码:

//为画图工具栏的按钮添加下拉菜单

m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARRO WS);

//取值TBSTYLE_EX_DRAWDDARROWS,可以为某一个按钮添加下拉按钮。DWORD dwStyle =

m_wndToolBar.GetButtonStyle(m_https://www.sodocs.net/doc/6314024074.html,mandToIndex(ID_DRAW_LINE ));

dwStyle |= TBSTYLE_DROPDOWN; //其中ID_DRAW_LINE是你要添加下拉菜单的按钮的ID

m_wndToolBar.SetButtonStyle(m_https://www.sodocs.net/doc/6314024074.html,mandToIndex(ID_DRAW_LINE ),dwStyle);

2.新建你要在点击按钮ID_DRAW_LINE出现的下拉菜单,即在工程的Resourceview选择目录树的条目点击右键,插入新的Resouse:Menu,在这里我新建的Menu它的ID是IDR_POPUP_LINE,如下图所示:

3.在CMainFrame类的消息映射中(即MainFrm.cpp )加入下拉箭头的

TBN_DROPDOWN消息映射:

ON_NOTIFY(TBN_DROPDOWN,AFX_IDW_TOOLBAR,OnToolbarDropDown

)

如下:

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)

//{{AFX_MSG_MAP(CMainFrame)

ON_WM_CREATE()

ON_NOTIFY(TBN_DROPDOWN,AFX_IDW_TOOLBAR,OnToolbarDropDo wn)//此行即为新增的ON_NOTIFY消息映射

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

4.在MainFrame.h头文件中加入消息处理函数的声明:

afx_msg void OnToolbarDropDown(NMTOOLBAR* pnmh, LRESULT* plRes);

如下:

// Generated message map functions

protected:

//{{AFX_MSG(CMainFrame)

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

afx_msg void OnToolbarDropDown(NMTOOLBAR* pnmh, LRESULT* plRes);

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

5.在MainFrame.cpp文件中加入TBN_DROPDOWN消息处理的实现代码:

void CMainFrame::OnToolbarDropDown(NMTOOLBAR *pnmtb, LRESULT *plr)

{

CWnd *pWnd;

UINT nID;

switch(pnmtb->iItem)

{

case ID_DRAW_LINE: //ID_DRAW_LINE即是你要添加下拉菜单的ToolBar按钮的ID

pWnd = &m_wndToolBar;

nID = IDR_POPUP_LINE;//IDR_POPUP_LINE就是上面新制作的菜单ID,当然,如果你要添加多个下拉菜单,只要多加几个case就好了break;

default:

return;

}

CMenu menu;

menu.LoadMenu(nID);

CMenu* pPopup = menu.GetSubMenu(0);

ASSERT(pPopup);

CRect rc;

pWnd->SendMessage(TB_GETRECT,pnmtb->iItem,(LPARAM)&r c);

pWnd->ClientToScreen(&rc);

pPopup->TrackPopupMenu(TPM_LEFTALIGN |

TPM_LEFTBUTTON | TPM_VERTICAL,

rc.left,rc.bottom,this,&rc);

}

运行后如图:

Android 标题栏添加控件及Button控件背景颜色的设置

Android 标题栏添加控件及Button控件背景颜色的设置 一、Android中标题栏添加按 现在很多的Android程序都在标题栏上都显示了一些按钮和标题,如下图: 下面通过实例来看一下如何实现。 1、在layout下创建一个titlebtn.xml文件,内容如下:

C#菜单栏、工具栏、状态栏

1鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 2010 yantao@https://www.sodocs.net/doc/6314024074.html, 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 20102 Tower 2011/5/https://www.sodocs.net/doc/6314024074.html, Windows programming yantao@https://www.sodocs.net/doc/6314024074.html, 概述 状态栏(StatusStrip)

3鄢涛2011/5/18 《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 2010 ! 概述

鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 20105Tower 2011/5/https://www.sodocs.net/doc/6314024074.html, Windows programming yantao@https://www.sodocs.net/doc/6314024074.html, ü概述 MenuStrip 工具栏(ToolStrip) MDI 窗体和MenuStrip 合并 6 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 2010

7鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 2010

9 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 2010: ToolStripMenuItem 菜单项该类是一个ToolStripDropDownItem ,与ToolStripDropDownMenu 和ContextMenuStrip 一起工作,以便为菜单处理特殊的突出显示、布局和列排列方式。ToolStripMenuItem 类提供使您得以配置菜单项的外观和功能的属性。 10 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.sodocs.net/doc/6314024074.html, Visual studio 2010 : ToolStripMenuItem 菜单项

实验三,菜单,工具栏与状态栏应用

实验三、菜单、工具栏与状态栏应用 一、实验内容 设计一个应用程序,使用菜单实现运行界面大小的改变、透明度和背景颜色的改变;并使用工具按钮实现响应界面大小、颜色改变,使用上下文菜单实现界面大小的改变;使用状态栏实现界面大小的改变、透明度和背景颜色的改变的三种信息。 二、实验步骤 1、设计程序界面 新建一个C#.NET项目,向窗体中添加一个主菜单控件,并依次添加子菜单项,如图3-1所示;添加一个上下文菜单,实现调整窗体大小的功能,菜单项如图3-2所示;添加工具栏控件及按钮,状态栏及状态面板,以及用于图标显示的imageList1控件(图片由用户自己准备;.NET2005 版中不需要imageList1控件,直接在工具栏控件ToolStrip的Items属性集的Image属性中设置)。适当调整各控件的大小及位置。程序界面设计如图3-3所示(特别说明:以下所有图示是在2003版下完成的) 注意:不同C# 版本中的控件名及属性名、事件均有差别,详见下表: 图3-1 主菜单设计

图3-2 上下文菜单设计 图3-3 程序界面设计 2、设置对象属性 为了在工具按钮上显示图标,设置imageList1的Images图标,并设置工具栏toolBar1的ImageList 属性值为imageList1,为工具按钮“红色”、“绿色”、“兰色”、“黄色”、“紫色”分别设置ImageIndex 属性为0、1、2、3、4,以便显示图标。为状态栏设置3个状态面板,分别用于显示窗体大小、背景颜色以及透明度。其他控件的属性设置见图3-1、图3-2、图3-3。 3、编写事件代码 菜单“窗体”中子菜单项“大”有3种情况。实现窗体运行中显示为设计时窗体3倍的代码如下: private void menuItem15_Click(object sender, System.EventArgs e) { this.Size=new Size(900,600); menuItem15.Checked=true; // 设置选中状态为真 menuItem16.Checked=false; menuItem17.Checked=false; menuItem3.Checked=false; menuItem4.Checked=false; statusBarPanel1.Text="3倍大小"; // 在状态栏中显示窗体的大小} 实现窗体运行中显示为设计时窗体2倍的代码如下: private void menuItem16_Click(object sender, System.EventArgs e) { this.Size=new Size(600,400); menuItem15.Checked=false; menuItem16.Checked=true; menuItem17.Checked=false; menuItem3.Checked=false; menuItem4.Checked=false; statusBarPanel1.Text="2倍大小"; } 实现窗体运行中显示为设计时窗体1.5倍的代码如下: private void menuItem17_Click(object sender, System.EventArgs e) {

【26-编辑菜单栏】什么是菜单栏和工具栏

【26-编辑菜单栏】什么是菜单栏和工具栏 编辑菜单栏“编辑”菜单“编辑”菜单中的一些命令主要是对文件进行编辑的,比如复制、粘贴、填充、描边等。“编辑”菜单是photoshop软件操作中最为常用的菜单之一。 1.“还原”命令这个命令用来将操作进行还原,它的快捷键是CTRL+Z,当时它只能还原一次,如果想要尽可能多地还原操作步骤,那么可以按CTRL+ALT+Z键。 2.“剪切”命令当画面中存在选框的时候,这个命令能将画面中选框中的部分进行裁切,下面我们通过一个练习来讲解。 一:打开这一张图片,然后用选区工具(M)选出一个选区。 二:选择编辑>剪切(CTRL+X),这样选框中的部分就被剪切掉了,如下图。 再选择编辑>粘贴(CTRL+V)就可以把剪切的部分粘贴到画面中。 3.“拷贝”和“粘贴”命令这两个命令基本上是组合来使用的,在画面中制作选框后,选择编辑>拷贝(CTRL+C)命令将其复制然后再选择编辑>粘贴(CTRL+V)将复制的部分粘贴到画面中。与前面的”剪切”命令不同的是,剪切后的图片在选框中的部分就没有了,

当时使用“拷贝”和“粘贴”命令后,原图片是完整的。所以大家要注意这两个的区别。 4.“填充”命令“填充”命令的功能与工具箱中的“油漆桶”工具基本相同,只不过它将一些主要的命令和选项集中在一起。如图:在下拉列表中可以选择很多选项,我们可以选择这些相应的选项来得到不同的效果,不过最为常用的就是前两个选项。其他的大家自己尝试吧。。。。 在“模式”下拉列表中我们可以选择填充的模式,这与前面讲过的混合模式是相同的。如“不透明度”用于改变填充颜色的透明程度。 5.“描边”命令描边命令用于对选框或者对象进行描边,下面通过一个实例来讲解下一:新建文件,然后使用矩形选框工具(M)在画面中做出选框。 二:选择编辑>描边命令,按照下图设置。 三:完成后得到如下效果。 6“自由变换”命令“自由变换”命令是我非常喜欢的一个命令,它灵活多变,用户可以完全地自行控制,做出任何变形。 自由变换:编辑——自由变换(快捷键:Ctrl+T)辅助功能键:Ctrl、Shift、Alt。 其中,Ctrl键控制自由变化;Shift控制方向、角度和等比例放大缩小;Alt键控制中心对称。

windows窗口和按钮Delphi为Windows窗 口标题栏添加新按钮

windows窗口和按钮:Delphi为Windows窗口标题栏添加新按钮 疯狂代码 https://www.sodocs.net/doc/6314024074.html,/ ?:http:/https://www.sodocs.net/doc/6314024074.html,/Delphi/Article45154.html 张海航 ; ; 对于我们熟悉标准windows窗口来讲标题栏上般包含有3个按钮即最大化按钮最小化按钮和关闭按钮你想不想在Windows窗口标题栏上添加个新自定义按钮满足你个性化需求从而也使自己窗口更具特色呢?! 下面我们就讨论下在delphi中如何给窗口标题栏上添加新按钮 、实现起来要定义以下过程: 1、 定义DrawCaptButton过程这个过程功能是在指定位置画出按钮 在过程中要使用win32GetMetrics得到窗口大小和标题按钮大小;使用delphiBounds定义个矩形这个矩形就是新按钮位置;再定义个小矩形这个矩形是为了填写文本;最后就delphi中比较有用drawbuttonface把按钮画出来 2、 每次我们对窗口进行操作例如最大化操作或最小化操作新按钮就会消失为了解决这个问题我们对所有消息要进行处理给每个消息编写个过程对按钮进行重画 A、定义WMNCPa(var Msg:TWMNCPa)过程处理消息WM_NCPa B、定义WMNCActivate(var Msg :TWMNCActivate)过程处理消息WM_NCACTIVATE C、定义WMSetText(var Msg:TWMSetText)过程处理消息WM_SETTEXT D、定义WMNCHitTest(var Msg :TWMNCHitTest)过程处理消息WM_NCHITTEST ; ; E、定义WMNCLButtonDown(var Msg : TWMNCLButtonDown)过程处理消息 WM_NCLBUTTONDOWN 2、 具体源如下: 我们结合源来讲述过程实现从中可以看出对win32以及drawbuttonface使用思路方法

清华天河自定义标题栏

清华天河自定义标题栏

————————————————————————————————作者: ————————————————————————————————日期: ?

、自定义标题栏 下面以附图2-1为例说明标题栏的自定义过程。 附图2-1 1.新建文件(用New命令)或执行TZ,开一图纸框,再炸开(编辑旧标题栏); 2.用绘图和文字中的相关命令设计出附图2-1所示的图形。其中在使用中不变的内容,如厂名等均用“文字”命令标出,而需临时填充的部分,如图样 名称等则用属性定义,具体方法见后。 3.进行属性定义。以在附图2-1中填充“图样名称”为例说明具体操作过程: ①执行DDATTDEF命令,回车后弹出附图2-2所示对话框。 附图2-2 ②在该对话框内进行属性定义,其中“标记”和“提示”项输入“图样名 称”(“标志”与“提示”项的内容最好相同)。对齐方式一定要选择“F it”(调整),然后输入合适的字高、字型等信息,如附图2-3所示。 按下“OK”按钮后,回到绘图环境,在“文字基线”的提示下,在填“图 样名称”的框内,点取两点(两点应在同一水平线上),这两点之间的水

平距离即是标注内容的有效区域。 ③用同样的方法对其它各项进行填充,并将文字及线框改成需要的颜色, 即区别粗细线。填充完毕后如附图2-3所示。 附图2-3 4.执行“自定义标题栏”功能(命令:PC_BTLDEF),完成定义过程。 执行: 1. 命令:PC_BTLDEF 2.菜单: PCCAD2002-系统维护-自定义标题栏提示: 输入标题栏名称: 输入: 输入标题栏的名称。 提示: 输入基点: 输入:点取标题栏的右下角点(用INT或END捕捉)。 提示:选择实体 输入: 将绘制的标题栏内容全部选择,回车。 出现附图2-4所示的对话框。用属性定义方式的所有字段自动显示出来,在此对话框可以进行如下操作:

Excel 2007 与 Excel 2003 菜单工具栏比较

一.Excel 2007 与Excel 2003 菜单工具栏比较 相信很多人在刚接触到Excel 2007时,都有种无从下手的感觉,特别是原先在Excel 2003或以前的版本中熟悉的菜单和工具栏不见了,好多命令都不知道“隐藏”到哪儿去了。下面,我们对Excel 2003和Excel 2007进行比较,看看Excel2003中的菜单和工具栏在Excel2007中是如何组合的。 Excel 2003的基本界面 图1.1:Excel2003界面 如上图1.1所示,为大家很熟悉的Excel2003及以前版本的界面。 Excel 2007的界面 图1.2:Excel2007界面

Excel2007操作将功能进行逻辑分类,分别放在相应的“带形功能区”中,共分9类,即开始、插入、页面布局、公式、数据、审阅、视图、开发工具、加载项。每个功能区中又分成几块小的区域,分别集中相应的功能命令按钮。同时,一些命令按钮旁有下拉箭头,含有相关的功能选项。在区域的右下角,有扩展箭头可显示该区域功能的对话框。 下面将详细地进行比较 (1)Office按钮 这两项调到了07版的 【页面布局】 相当于03版的 [工具]->[选项] Office 07版Office按钮Office 03版文件选项 单击Office按钮,则显示与文件操作相关的命令,相当于以前版本中的“文件”菜单中的大多数内容,但变化还是比较大的,在新版本中移除了“页面设置”和“打印区域”,增加了“Excel选项”。 如果对方的版本过低又没安装补丁的话是开不打新版的文件的,我们可以在“另存为”里选择“Excel 97-2003工作簿”另存一个副本给他。 打印预览,在“打印里”,我们最好将“打印预览”和“快速打印”添加到快速访问工具栏里,这样方便我们工作。 设置访问密码有两个方法:1.在“准备”里的“加密文件”可以设置,但只可以设置访问密码,不能设置修改密码。 2. 在“另存为”界面“保存”旁边有一个“工具”按钮,点击“工具”按钮右边的小三角,在弹出菜单中选择“常规选 项”。这时我们就可以在“常规选项”中设置密码了。设置“打开权限密码”后,他人可以用这个密码阅读这个Excel文件。设置“修改权限密码”后,他人可以用这个密码打开和修改这个Excel文件。 一般我们发布的知通都以PDF文件格式发布,这时我们可以点击“发送”再选择“PDF电子邮件附件”。

CAD标题栏的制作与定义

在中望CAD中绘图怎样自定义标题栏? 来源:岁月联盟编辑:zhuzhu 时间:2008-02-19 在中望CAD中绘图怎样自定义标题栏?内容简介:本文简单介绍在中望AutoCAD 里绘制自己单位的标题栏以及如何将设置好的标题与大家分享。我们绘图时经常会用到各式各样的图框,图框的标题栏上往往有单位的名称等信息。如果每次画图都要绘制或修改别人的图框,本文简单介绍在中望AutoCAD里绘制自己单位的标题栏以及如何将设置好的标题与大家分享。 我们绘图时经常会用到各式各样的图框,图框的标题栏上往往有单位的名称等信息。如果每次画图都要绘制或修改别人的图框,这个过程既繁琐又浪费时间,何不做个自己单位的标题栏呢? 首先要清楚这个标题栏的规格。长宽多少,适用于几号图纸,以及内容是什么?这些依不同情况而异。然后便可以用直线命令和文字命令绘制出基本的内容,这一部分比较简单,不再敖述,如绘制图1所示样式及内容的标题栏: 图1 绘制基本标题栏 下面定义属性:在命令行输入“ATT”,回车后弹出“定义属性”对话框(见图2),比如要在图1右上角框里放置“单位名称”属性,定义如图2,属性的插入坐标和文本高度可通过图2中黑框按钮直接到图纸中拾取。

图2 定义属性对话框 拾取完后点“定义并退出”,便在图1右上角框处放置了一个属性。同理,添加其它的属性,完成后如图3所示。 图3 定义属性后的图框 选中图3所有对象,在命令输入“W”后回车,弹出“写块”对话框(见图4),通过黑框处按钮拾取基点为图框的右下角点。在目标栏里指定块存放的路径及名称。

图4“写块”对话框 至此,带属性的标题栏就绘制完毕了,且保存为一个独立的文件,可以把这个文件放到单位网络上共享,其它的同事在用到时就可以方便地调用它。下面介绍调用方法。 绘制好图框后,在命令行输入“Insert”后回车,弹出“插入图块”对话框,选择从“文件”插入并找到上面做好的标题栏文件,确定后就会发现插入基点就是我们定义的标题栏右下角点,拾取图框的右下角点便可插入。这时命令行会挨个提示属性名称,比如“单位名称:”,只需在命令行输入自己单位的名称即可,如“某某精密仪器厂”等,标题栏就会显示用户定义的属性。 如果要对己插入的标题栏属性进行修改,只要在命令行输入“ATE”后回车,选择欲改属性的标题栏图块,弹出“编辑图块属性”对话框(见图5)。选中高亮显示要修改的项后,在数值框内填入新的属性即可。

工具,菜单,及工具栏

工具,菜单,及工具栏 Ps丶杰丨Forever Photo shop 工具箱中包含了用于创建和编辑图像、图稿、页面元素的工具和按钮。单击工具箱顶部的双箭头切换为单排和双排。 移动工具箱 默认的情况下,工具箱停放在窗口左侧。将光标放在工具箱顶部双箭头

右侧,可以将工具箱从停放中拖出,放在窗口的任意位置。 程序栏:可以调整photo shop窗口大小,将窗口最大化、最小化或关闭。还可以切换工作区,显示参考线,网络等。 菜单栏:菜单中可以执行各种命令。单击菜单名称即可打开相应的菜单。 标题栏:显示了文档名称、文件格式、窗口缩放比例和颜色模式等等。如果包含多个图层,则标题栏中还会显示当前工作的图层的名称。 图中的文档名称为鱼老大,格式为psd,缩放比例为33.3%,颜色模式为RGB。括号里面则为:我选择的图层。

工具箱:包含用于各种操作的工具,如创建选区,移动图像,绘画,绘图等 工具选项栏:用来设置工具的各种选项,它会随着所选工具的不同而变换内容。 魔棒工具选项栏 渐变工具选项栏 面板:可以帮助我们编辑图像。有的用来设置编辑内容,有的用来设置颜色属性。 状态栏:可以显示文档大小,文档尺寸,当前工具和窗口缩放比较等信息。 图中缩放比例为33.33%,文档尺寸为146.05毫米* 216.03毫米 文档窗口:是显示和编辑图像的区域。 选项卡:打开多个图像时,它们会最小化到选项卡中,单击各个文件的名称即到相应的文件。 在photo shop中打开一个图像时,便会创建一个文档窗口。如果打开了多个图像,则各个文档窗口会以选项卡的形式显示。 按下Ctrl+ Tab键,即可照前后顺序窗口切换。按下Ctrl+ Shift+ Tab键,可按照相反的顺序切换窗口。 单击一个标题栏将其从选项卡中拖出,它便成为可任意移动位置的浮动窗口。

WIN7中任务栏,菜单栏和工具栏的基本设置

WIN7中任务栏,菜单栏和工具栏的基本设置 WIN7的任务栏和XP的任务栏相比有很大的区别,下面我们就来看看WIN7中的变化。 WIN7的任务栏中没有了快速启动栏,这是因为WIN7中增加了一项新的功能,可以将桌面快捷方式附到任务栏,其方法很简单,只要将你想要附到任务栏的桌面快捷方式托到任务栏即可,如果要将其从任务栏移除则只要在选中后“右键”则会显示“解除任务栏锁定”,单击即可。 有些时候我们会发现有些朋友的电脑的任务栏显示在电脑的右面或者上面,也有一些同学的电脑的任务栏就没有,这是怎么设置的呢?在任务栏空白处右键,会看到下图

我们只要将“锁定任务栏”前的勾去掉,那么我们就可以将任务栏托动到电脑的上下左右了,如果要隐藏任务栏则将下面的“自动隐藏任务栏”前的勾给勾上就可,要显示任务栏时只要我们将鼠标移动到最下方就会再次显示。“屏幕上的任务栏位置”也可以设置任务栏的位置,在此就不多说了。

“在任务栏按钮”我们可以作一些设置,具体操作很简单,在此就省略了。 WIN7中新增了AERO PEEK预览功能,有些时候我们会发现我们在任务栏里面的“使用AERO PEEK功能”前面的勾我们也勾上了,可就是没法使用预览功能,这很可能是我们还有一个地方忘了设置。具体方法是“计算机——属性——高级系统设置——高级——性能——设置——视觉效果”

将启用AERO PEEK前的勾给勾上就可以了。 有些时候我们会发现我们电脑里面的开始菜单里面的一些程序或项目不见了(如有些电脑里的开始菜单没有运行项),这时候我们就要到“开始菜单”项里设置了,在开始菜单里我们单击“自定义”会看到下图

VC对话框程序添加目录菜单、工具条和状态栏

一、引言 对于不需要文档/视图结构支持的程序一般都采用对话框做为程序的基础框架。虽然在对话框程序上可以通过修改其属性来添加系统菜单,但对比SDI和MDI程序的工具条和状态栏未免使界面显得简单、单调。虽然在V isual Basic 中提供有独立的工具条和状态栏标准控件可以直接在对话框上使用,但V isual C++ 6.0所提供的26种基本Windows标准控件却没有将它们包含其中。因此要在对话框程序中实现工具条和状态栏只能通过编程来动态实现。 二、工具条的实现过程 MFC对于工具条和状态栏分别提供了CToolBar和CStatusBar两个基本类库,但由于在实现时MFC 对其做了过多的封装,以至无法了解内部的一些核心技术。因此本文在实现过程中放弃了相对比较方便的CToolBar和CStatusBar类的使用,而是通过SDK(Software Developers Kit,软件开发工具箱)式的WinAPI 应用程序接口来实现的。在API函数中经常需要用到对话框的窗口句柄和当前的实例句柄,在SDK程序设计中以上两个句柄可以直接从入口函数WinMain()中引出,而在MFC下也对其做了封装,不能直接获取。但MFC也为其留有接口:CWnd窗口类提供的GetSafeHwnd()可以返回对话框的窗口句柄;函数AfxGetInstanceHandle()则可以获取当前应用程序的实例句柄。由于对话框和状态栏属于程序界面的一部分,需要程序启动时就显示出来,因此获取句柄的代码和后面创建显示工具条、状态栏的全部代码都应当放在对话框初始化消息WM_INITDIALOG的响应函数OnInitDialog()中进行: HWND hDlg=GetSafeHwnd(); HINSTANCE hInstance=AfxGetInstanceHandle(); 对于待添加的工具条按钮可以根据情况细分为两种: 一种是Windows标准的一些工具条按钮比如打开文件、打印预览、在线帮助等等,这类工具条按钮可以直接使用预定义好的按钮图标的ID号,在VC自带的CommCtrl.h头文件中有详细定义; 另一种就是用户自己添加的工具栏按钮,只能由用户在资源视图中为其指定相应的图标。不论是那种工具条按钮的创建都是通过对TBBUTTON结构的设置来决定每一个工具条按钮的状态,对于第一个填充好的工具条按钮可以用CreateToolbarEx()来直接将其加入到工具条上,并返回指向工具条的窗口句柄,而对于以后工具条按钮的添加则只能通过向工具条发送TB_ADDBUTTONS消息来实现: …… //填充工具条按钮结构: TBBUTTON ptoolbar[30]={{STD_HELP, //指定Windows的标准帮助图标 MU_ONE, //工具条按钮的ID TBSTA TE_ENABLED, //可用状态 TBSTYLE_BUTTON, //指定创建一个可以下按的按钮 0, //保留,由应用程序定义该参数意义 0}, //按钮字串索引 //创建一个分割按钮用的竖线 {0,0,TBSTA TE_ENABLED,TBSTYLE_SEP,0,0}};

明细表及标题栏格式

明细表及标题栏格式 Document number:PBGCG-0857-BTDO-0089-PTT1998

明细表及标题栏格式 注: (1)明细栏一般由序号、代号、名称、数量、材料、重量(单件、总计)、分区、备注等组成,也可按实际需要增加或减少;但至少应有序号、图号、零件名称、数量、材料、标准代号和备注等栏目。 (2)明细表中代号一栏填写图样中相应组成部分的图样代号或标准号;在填写零件名称一栏时,名称后面是标准件的规格或者零件毛坯尺寸。 (3)在填写图号一栏时,应给出所有零件图的图号。数字序号一般应与序号一样以主视图画面为中心依顺时针旋转的方向为序依次编定。由于模具装配图一般算作图号00,因此明细表中的零件图号应从01开始计数。没有零件图的零件则没有图号。 (4)备注一栏主要标热处理、外购或外加工等说明,必要时应按照有关规定将分区代号填写在备注栏中。一般不另注其它内容。 名称与规格 用中望CAD自定义标题栏 在设计、绘图时经常会用到各式各样的图框,图框的标题栏上往往有单位的名称等信息。如果每次画图都要绘制或修改别人的图框,这个过程既繁琐又浪费时间,何 不做个自己单位的标题栏呢下面简单介绍在中望CAD里绘制自己单位的标题栏以及 如何与同事共享: ?首先要清楚这个标题栏的规格。长宽多少,适用于几号图纸,以及内容是什么这些依不同情况而异。然后便可以用直线命令和文字命令绘制出基本 的内容,这一部分比较简单,不再敖述,如绘制图1所示样式及内容的标 题栏: 图1绘制基本标题栏 ?下面定义属性:在命令行输入“ATT”,回车后弹出“定义属性”对话框(见图2),比如要在图1右上角框里放置“单位名称”属性,定义如图2,

Android在标题栏加按钮

Android中标题栏添加按钮 现在很多的Android程序都在标题栏上都显示了一些按钮和标题,如下图: 下面通过实例来看一下如何实现。 1、在layout下创建一个titlebtn.xml文件,内容如下: [html]view plaincopyprint? 1. 2. 6. 7. 15. 16.

VC经验技巧:标题栏、按钮、菜单等。

VC经验技巧:标题栏、按钮、菜单等。 分类:VC2008-08-02 19:07 1569人阅读评论(0) 收藏举报VC经验技巧 1.窗口最大最小化按纽的控制 ①怎样在程式开始的时候让他最大化? ②v C++做出来的exe文档在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能? ③如何在显示窗口时,使最大化按钮变灰? ①在App类里的C…App::InitInstance()中把m_pMainWnd->ShowWindow(SW_SHOW)改成 m_pMainWnd->ShowWindow(SW_MAXIMIZE); ②在CreateWidnow时用WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX 风格. ③第一种方法: BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs // disable the maxmini box cs.style &= ~WS_MAXIMIZEBOX; return TRUE; } 第二种方法: CMenu *pMenu=AfxGetApp()->m_pMainWnd->GetSystemMenu(FALSE); int x=pMenu->GetMenuItemCount( ); UINT pID=pMenu->GetMenuItemID(x-1); pMenu->EnableMenuItem(pID, MF_DISABLED); 第三种方法: ModifyStyle(WS_MAXIMIZEBOX, 0); 这个函数也能够是最大化按钮失效! 并且能够在程式中动态的改变窗口的风格 2.创建动态菜单 void CMainFrame::OnSelectState(NMTOOLBAR* pnmtb, LRESULT *plr) { CMenu menu; if(!menu.CreateMenu()) return; menu.AppendMenu(MF_STRING,0,"开始");

如何在标题栏上增加按钮

如何在标题栏上增加按钮 大家在使用某些软件的过程中,有没有注意到有些软件有一些很有趣的东西。比如说在主窗口的标题栏上居然有一个按钮。在Internet中随处可见这样的小控件。按钮怎么可以加入到非客户区(Client)呢? 在这里,最关键的一点就是,大家不要被传统知识误导:真的认为它是 一个按钮。有名柄(handle)的控件当然不能放在标题栏上了。有经验的程序员用Spy++跟踪一下的话,马上就会发现其中的秘密。它并不是一个按钮,只不过是处理成按钮的样子罢了。 既然知道了所以然,那么我们为什么不能自己来做一个呢,当然没问题,下面我们就用 Delphi来实现它,讲注意我的注解。 在具体实例之前,我们应该知道几个关于标题栏的重要的消息: WM_NCPAINT:重画标题栏消息。我们必须截住它,可以在这里重画按钮; WM_NCLBUTTONDOWN:在标题栏上按下鼠标左键消息。我们可以截住它,在标题栏上画出 按钮按下的样子,并且可以在其中进行自已的单击事件的处理,使得它像一个按钮; WM_NCLBUTTONUP:在标题栏上释放鼠标左键消息。我们可以截住它,在标题栏上画出按 钮弹起的样子; WM_NCLBUTTONDBLCLK:在标题栏上双击鼠标左键消息。我们可以截住它,当在按钮区域 双击时,我们就该使其无效,从而避免窗体执行最大化和还原操作。 WM_NCRBUTTONDOWN:在标题栏上按下鼠标右键消息。我们可以截住它,当在按钮区域双 击时,我们就该使其无效,从而避免弹出窗体按制菜单。 WM_NCMOUSEMOVE:在标题栏上移动鼠标消息。我们可以截住它,当鼠标移出按钮区域 时,我们就必须画出按钮没有被按下,即凸起时的样子。 WM_NCACTIVATE:当标题栏在激活与非激活之间切换时收到该消息。我们可以截住它, 当该窗口处理激活状态时,我们可以做一些事情,比如说将我们的标题栏按钮上的字体 变灰或变黑来指示该窗口的当前状态。下面我没有加入该项功能,如果大家感兴趣的 话,可以自己完成。 (大家从这里可以发现,标题栏的消息都是WM_NC开头的) 实例文件如下: unit main; interface uses

什么是菜单、栏工具栏、标题栏

什么是工具栏,什么是菜单栏、什么是标题栏? 回答1、 菜单栏就是窗口最上方,标题栏下方的那部分,通常有“文件,编辑,查看,工具,帮助”等选项。 工具栏一般在菜单栏下方,通常有“前进,后退”等按钮。 回答2、 最上面的是标题栏,下面就是菜单栏,再下面就是工具栏 回答3、 菜单栏就是标题栏下面的一栏,有文件,编辑,查看,工具,帮助等等, 工具栏就菜单栏下面的所有栏目的统称.像前进,后退,主页.刷新等 标题栏就是整个窗口最上面的一栏,上面的标题说明当前窗口是什么位置 菜单栏和工具栏是什么区别 (菜单栏是应用程序里所有功能的集大成,非常丰富。可是要使用菜单栏里的功能,您通常得点好多下鼠标。为了方便用户,就把最常用的功能放在工具栏里。工具栏里通常都是图形按钮,图形按钮使用起来很方便,点一下鼠标就可以了。

小结: 在功能上,工具栏其实是菜单栏的子集、包含菜单栏里最常用的功能;在使用方式上,工具栏比菜单栏方便,点一下鼠标就行

仅供个人用于学习、研究;不得用于商业用途。 For personal use only in study and research; not for commercial use. Nur für den pers?nlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales. толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях. 以下无正文

实验12 菜单、工具栏和状态栏

实验内容 创建一个单文档应用程序Ex_SDI,开始运行时主框架窗口的大小为屏幕的1/4大小,并移动到屏幕的右上角。当单击工具栏上的圆圈按钮,该按钮呈按下状态,此时在窗口的客户区的光标为一个圆圈,双击鼠标,则状态栏上显示“你在(x,y)处双击鼠标”(x,y为鼠标在客户区的位置)。若再单击工具栏上的圆圈按钮,该按钮呈正常状态,光标变成原来的箭形,双击鼠标,状态栏上不再显示任何文本。如图T12.1所示是单击圆圈按钮时的程序界面。 实验准备和说明 (1)在教程第5章全部讲授后进行本次实验。 (2)构思本次上机所需要的程序。 实验步骤 1.创建工作文件夹 打开计算机,在“D:\Visual C++程序、LiMing”文件夹中创建一个新子文件夹“实验12” 2.改变运行时窗口的大小和位置 改变运行时窗口的大小和位置设置步骤如下。 (1)启动Visual C++6.0。 (2)用 MFC AppWizard 创建一个默认的单文档应用程序Ex_SDI。在“新建”对话框中将项目文件夹定位到“D:\Visual C++程序\ LiMing\实验12”。 (3)将项目工作去窗口切换到Class View 页面,打开并定位到 CEx_SDIApp::InitInstance 函数处。 (4)在CEx_SDIApp::InitInstance 函数的最后添加下列代码: BOOL CEx_SDIApp::InitInstance() { … m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); CRect rcDesktop; ::GetWindowRect(GetDesktopWindow(),rcDesktop); // 获取屏幕大小 m_pMainWnd->MoveWindow(rcDesktop.Width()/2.0, rcDesktop.Width()/2, rcDesktop.Height()/2); return TRUE; }

cad标题栏模板

竭诚为您提供优质文档/双击可除 cad标题栏模板 篇一:关于cad中图层、图框、标题栏的标准化设置 关于cad中图层、图框、标题栏的标准化设置 一般大型企业,都非常重视企业绘图标准化,在使用cad 绘图时,需要对图框、标题栏、图层的设置进行规范化工作。 1. 字体及字高标准化 字体:汉字字体要求用仿宋体,可以使用windows系统字体“仿宋_gb2312”,也可以使用形文字字体,如:gbcbig.shx;字母和数字,可以使用windows系统字体“仿宋_gb2312”,也可以使用gbenor.shx字体。注意:如果小字体选择行文字字体(后缀为.shx),则汉字也需要用行文字大字体;字母和数字不必要追求是斜体。 字高及宽高比:字高的序列包括:1.8mm,2.5mm,3.5mm,5mm,7mm,10mm,14mm,20mm,一般尺寸用3.5mm,注释性文字用5mm,标题栏中的字体根据表格的高度选择用5mm或7mm;明细栏中的文字高度是3.5mm;宽高比固定用0.7。2. 图层标准化

下表是cad中常用的图层及图层设置,供用户参考: 表1:图层分类及应用场合 3. 图框及标题栏、信息栏、代号栏标准化 图纸幅面的尺寸应该符合《印刷、书写和绘图纸幅面尺寸》gb/t148-1997的规定,我国机械设计所使用的纸张是a 型纸,幅面大小从a0-a5。 图纸边框格式及尺寸: 标题栏的放置位置:标题栏的长边置于水平方向并与图纸的长边平行时,则构成x型图纸;若标题栏的长边与图纸长边垂直时,则构成y型图纸,在此情况下,看图的方向和看标题栏的方向一致。 标题栏的位置应位于图纸的右下角 图1.应采用的方式 为了利用预先印制的图纸,允许将x型图纸的短边置于水平位置使用;或将y型图纸的长边置于水平位置使用图2.允许采用的方式 标题栏的格式举例及尺寸 图3.标题栏 更改区填写说明:1. 上图所示标题栏格式的左上方为更改区,更改区中的内容应由下而上顺序填写,也可根据实际情况顺延;或放在图

实验5 菜单、工具栏和状态栏

实验 实验目的和内容 (1)创建一个单文档应用程序Ex_SDI。在“查看”菜单下添加一个子菜单“鼠标位置”,ID为ID_VIEW_MOUSE,当选择该菜单命令后,鼠标当前的位置显示到状态栏上, 同时该菜单项呈选中状态。再次选择该菜单命令,状态栏不再显示当前鼠标位置, 同时该菜单项的选中状态被去除。 (2)在工具栏上添加并设计一个工具按钮图标,使该按钮和ID_VIEW_MOUSE菜单命令联动,并添加一个快捷键Ctrl+M和该菜单命令联动。 (3)在窗口客户区中右击鼠标,弹出快捷菜单,显示主菜单“查看”中的菜单命令。结果如图5.1所示。 图5.1 Ex_SDI运行结果 实验准备和说明 (1)具备知识:菜单、工具条和状态栏。 (2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验5”。 实验内容和步骤 1.启动Visual C++ 6.0 打开计算机,启动Visual C++ 6.0系统。 2.用MFC AppWizard(exe)创建一个默认的单文档应用程序Ex_SDI ①选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”标签,在应用程序项目类型列表框中选择MFC AppWizard(exe)的项目类型,将工程文件夹定位到“…\Visual C++程序\实验\实验5”,并在工程框中输入项目名Ex_SDI。 ②单击“确定”按钮,从出现的对话框中,选择单个文档(Single Document,SDI)应用程序类型。 ③保留其他的默认选项,单击“完成”按钮出现一个对话框,显示出用户在步骤中作出的选择,单击“确定”按钮,系统开始创建。

3.添加菜单 ① 在项目工作区窗口中选择ResourceView 页面,双击资源Menu 项中的IDR_ MAINFRAME ,则菜单编辑器窗口出现在主界面的右边,相应的Ex_SDI 项目的菜单资源被显示出来。 ② 单击“查看”菜单,则在该菜单的最后一项,Visual C++为用户留出了一个空位置,用来输入新的菜单项。 ③ 在菜单的空位置上双击鼠标左键,则出现它的属性对话框,如图5.2所示,在标题框中输入“鼠标位置(&M )\tCtrl+1”,在ID 框输入该菜单项的资源标识:ID_VIEW_MOUSE ,在提示框中输入“在状态栏上显示当前鼠标位置\n 鼠标位置”,其中\n 前一部分的文本是显示在状态栏上的,后一部分是联动的工具图标按钮的提示文本。 图5.2 菜单项属性设置 4.添加并设计一个工具图标按钮 ① 在项目工作区窗口的ResourceView 页面中,双击Toolbar 中的IDR_MAINFRAME ,打开工具栏资源。 ② 单击工具栏最右端的空白按钮,在资源编辑器的 按钮设计窗口中绘制一个“箭头”,颜色为黑色,然后将 其拖动到“帮助”按钮的前面,并使该按钮的前后均有 半个空格,结果如图5.3所示。 ③ 双击刚才设计的工具按钮,在弹出的属性对话框 中将其ID 设为ID_VIEW_MOUSE 。 5.菜单命令和工具按钮的更新 ① 为CMainFrame 类添加一个BOOL 型的成员变量m_bIsMouse ,在CMainFrame 类构造函数中将m_bIsMouse 的初值设为FALSE 。 ② 用MFC ClassWizard 在CMainFrame 类中添加工具按钮ID_VIEW_MOUSE 的COMMAND 和UPDA TE_COMMAND_UI 消息映射函数,并添加下列代码: void CMainFrame::OnViewMouse() { m_bIsMouse = !m_bIsMouse; } void CMainFrame::OnUpdateViewMouse(CCmdUI * pCmdUI) { pCmdUI ->SetCheck(m_bIsMouse); } ③ 编译运行并测试。 6.设置快捷键 ① 在项目工作区窗口的ResourceView 页面中,双击Accelerator 中的IDR_ MAINFRAME ,打开快捷键资源。 图5.3 设计的工具按钮

相关主题