VCMFC中使用工具栏控件详解

VCMFC中使用工具栏控件详解
VCMFC中使用工具栏控件详解

VC MFC工具栏(CToolBar)控件

工具栏

工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个

工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建,如CButton按钮类,现举一个用代码创建按钮控件并显示在窗口里的例子。

CButton类的Create成员函数可以创建一个按钮控件,这个函数的格式如下:

BOOL CButton::Create(

LPCTSTR IpszCaption,// 按钮显示的文本

DWORD dwStyle,// 按钮样式

const RECT & rect,// 按钮控件显示的区域(大小)相对于父窗口

CWnd* pParentWnd,// 按钮的父窗口(按钮属于哪个窗口)

UINT nlD〃指明按钮控件ID号

);

这个函数的第二个参数dwStyle是按钮控件的样式,也就是在可视化添加按钮控件时,右击按钮控件,选择属性,之后会弹出一个对话框,这个对话框有一个样式的选项,该参数即对应这个样式。

好了,了解了上面这些我们就来动态创建一个按钮吧,首先在对应话类里添加一个按钮类成员变量CButton

m_Button;

然后在对话框编辑区里给对话框添加一个按钮控件(单击这个按钮创建按钮控件),然后添加这个按钮控件单击消息处理函数,并在函数添加以下语句:

RECT ButtonRect;//按钮控件显示的区域(大小)相对于父窗口

ButtonRect.left=10;

ButtonRect.top=10;

ButtonRect.right=80;

ButtonRect.bottom=30;

m_Button.Create(" 动态创建”,WS_CHILD,ButtonRect,this,1115);

m_Button.ShowWindow(SW_SHOW);// 显示按钮控件

知道了怎样动态创建按钮控件,我们就来创建工具栏控件。

首先在对话类中添加一个CToolBar类成员变量CToolBar m_Toolbar;

然后在对话类文件中定义工具栏命令ID

#define ID_BUTTON1 501

#define ID_BUTTON2 502

#define ID_BUTTON3 503

接着我们就要创建工具栏资源了,用于工具栏按钮的显示图片

方法是进入ResourceView(资源视图选项卡),再随便选中一个选项,右击选择插入,在弹出的对话框里选中

Toolbar,点新建。

接着创建三个按钮。如下图所示:

会弹出一个对话框,

在ID项填入ID_BUTT0N1 ,就可以了。接着依次把两个ID号改为ID_BUTT0N2 , ID_BUT00N3。在这个对话框里也可以改变工具栏按钮的大小。

接下来我们样在对话框类的OnlnitDialog函数里的所有代码之后,return TRUE;之间添加以下语句:m_Toolbar.Create(this);〃创建工具栏控件

m_Toolbar.LoadToolBar(IDR_TOOLBAR1);〃装载工具栏资源

CRect rect(100,100,200,200);〃

m_Toolbar.MoveWindow(rect);〃移动工具栏在父窗口的位置

m_Toolbar.ShowWindow(SW_SHOW);〃显示工具栏

但这样显示工具栏不是很方便,特别是当窗口大小改变后,还要计算工具栏在窗口中的位置,有没有什么方法,

可以根据窗口大小自动调整工具栏到合适的位置呢?答案是肯定的,RepositionBars函数可以做到。实现方法如下,把上面的语句换成下面的:

m_Toolbar.Create(this);〃创建工具栏控件

m_Toolbar.LoadToolBar(IDR_TOOLBAR1);〃装载工具栏资源

//该函数用于显示工具栏,并根据窗口大小自动调整工具栏的位置

RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

而响应工具栏按钮单击消息,跟前面介绍的添加按钮单击消息差不多,进入类向导,找到要添加的工具栏按钮

ID,添加COMMAND消息响应函数,如下图:

工具栏按钮上显示真彩位图

上面的例子有一个缺陷, 那就是工具栏按钮显示的图形, 不能超过256色,如果我想在工具栏按钮显示真彩位图,

上面的方法显示是无法实现的,那这个功能是如何实现呢?

SetlmageList 函数可以做到,既然要显示真彩位图,那就不能使用上面的工具栏资源( 256色),所以一切都得

到用代码实现

首先向工程引入六张位图(用于工具栏按钮显示的图片),假设 IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP5,IDB_BITMAP6 第一步:在对话框里添加两个成员变量分别是: CToolBar m_Toolbar; CImageList m 」mageList;

第二步:在对话类文件添加以下宏定义:

像要大,具体是按钮的要

//比图像的宽大7或者以上,高6

m_Toolbar.GetToolBarCtrl().SetImageList(&m_I mageList);//

RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

ID 号分别为 IDB_BITMAP1 ,IDB_BITMAP2,

,大小为50X38

#define ID BUTTON1 501 #define ID BUTTON2 502 #define ID BUTTON3 503 #define ID BUTTON4 504 #define ID BUTTON5 505 #define ID BUTTON6 506

接下来在对话框初始化函数

OnInitDialog 后面添加如下语句:

m_I mageList.Create(50,38,ILC_COLOR24|ILC_MASK,1,1);〃 图片大小必须一致

CBitmap bmp; for(int i=0;i<6;i++)

bmp.LoadBitmap(IDB_BITMAP1+i);

m 」mageList.Add(&bmp,RGB(255,255,255)); bmp.DeleteObject();

UINT nArray[6]; for(i=0;i<6;i++)

nArray[i]=ID_BUTTON1+i;

m_Toolbar.CreateEx(this);〃 创建工具栏控件,CreateEx 函数创建的工具栏,默认有浮动按钮属性

m_Toolbar.SetButtons (nArray,6);〃 创建六个工具按钮,并依次设置 ID 号,对应nArray 数组的元素

m_Toolbar.SetSizes(CSize(60,56),CSize(50,38));〃

函数第一个是按钮大小,第二个是图像大小,按钮必须比图

设置图像

运行效果如下图:

匚〕[返二

il

取消|

TOM.花这里设置刘话控制-

如果要响应工具栏按钮单击消息的话,必须手动添加消息映射:女口

ON_COMMAND(ID_BUTTON1,Button1) //buttonl 为消息处理函数

如果要设置按钮显示文本的话,就是CToolBar类的SetButtonText函数。

设置工具栏背景位图

用CReBar类可以实现在工具栏背景里显示位图,可以把工具栏设置成CReBar类对应的子窗口,以上面的工程

为例子,再在对话类里添加一个成员变量:CReBar m_Rebar;接着导入一张位图,用做工具栏的背景,ID号为ID_TOOLBACK,然后在OnlnitDialog 函数的

RepositionBar(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); 语句前面添加如下语句:

m_Rebar.Create(this);〃创建窗口(控件)

m_Rebar.AddBar(&m_Toolbar);〃添加m_Toolbar 为子窗口

m_Rebar.RedrawWindow();〃重画窗口

REBARBANDINFO info;

info.cbSize=sizeof(info);

info.fMask=RBBIM_BACKGROUND;

m_Toolbar.ModifyStyle(O,TBSTYLE_TRANSPARENT);〃设置工具栏背景色透明

info.hbmBack=LoadBitmap(AfxGetlnstanceHandle(),MAKEINTRESOURCE(IDB_TOOLBACK));〃加载位图

m_Rebar.GetReBarCtrl().SetBandlnfo(O,&info);

编译,运行效果如下:

为工具栏按钮添加鼠标停留提示信息

以上面的工程为例子,在对话类里添加一个成员变量CString str;

接着在m_Toolbar调用CreateEx函数后,调用这个语句:m_Toolbar.EnableToolTips();〃激活信息提示功能然后在对话类里添加一个成员函数(用于TTN_NEEDTEXT消息处理函数),格式如下:

BOOL OnDisplay(UINT id, NMHDR *pNMHDR, LRESULT *pResult)

然后添加TTN_NEEDTEXT消息映射宏

ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnDisplay)

OnDisplay 函数代码如下:

TOOLTIPTEXT *pTTT=(TOOLTIPTEXT *)pNMHDR; UINT nlD=pNMHDR->idFrom;〃 获取工具栏按钮 UINT nIndex=m_https://www.360docs.net/doc/5d13571353.html,mandToIndex(nID);〃 str.Format("工具栏按钮 %d",nIndex);

pTTT->lpszText=str.GetBuffer(str.GetLength());〃 pTTT->hinst=AfxGetResourceHandle(); return TRUE;

工具栏按钮上显示图标

在按钮上显示图标,方法跟显示位图差不到哪去,只要让

CImageList 里添加的是图标就行了,首先向工程引入

六个图标,假设 ID 号分别为IDI_ICON1、IDI_ICON2.…IDI_ICON6 以上面的工程为例:在 OnInitDialog 函数最后添加如下代码: m 」mageList.Create(48,48,ILC_COLOR24|ILC_MASK,1,1);〃 图片大小必须一致

for(int i=IDI_ICON1;i<=IDI_ICON6;i++)

m 」mageList.Add(AfxGetApp()->LoadIcon(i));〃 添加图标

UINT nArray[6]; for(i=0;i<6;i++) {

nArray[i]=ID_BUTTON1+i; }

m_Toolbar.CreateEx(this);〃 创建工具栏控件 m_Toolbar.EnableToolTips();〃 激活信息提示功能 m_Toolbar.SetButtons(nArray,6);

m_Toolbar.SetSizes(CSize(60,56),CSize(48,48));

m_Toolbar.GetToolBarCtrl().SetImageList(&m 」mageList); m_Rebar.Create(this);

m_Rebar.AddBar(&m_Toolbar); m_Rebar.RedrawWindow(); REBARBANDINFO info; info.cbSize=sizeof(info);

info.fMask=RBBIM_BACKGROUND;

m_Toolbar.ModifyStyle(O,TBSTYLE_TRANSPARENT);〃

设置工具栏背景色透明 info.hbmBack=LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_TOOLBACK)); m_Rebar.GetReBarCtrl().SetBandInfo(O,&info);

RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); 运行效果如下:

ID

根据按钮ID 获取索引

设置按钮提示信息

不一样。

为了显示热点按钮图片,我们得准备两组图片,一组用于正常显示,一组用于热点显示。这里我的图片格式是图 标。还有一点要说明的是,工具栏必须具有 TBSTYLE_FLAT (浮动按钮)属性,这一点在用

CreateEx 函数创建

工具栏的时候,已经默认包含了。 两组图片: 然后引入背景位图,ID 号为IDB_TOOLBACK 做完了这些,我们就向对话类里添加四个成员变量: CToolBar m_Toolbar; CImageList m 」mageList; CImageList m_hotImageList; CReBar m_Rebar; 然后增加五个宏定义: #define ID_BUTTON1 501 #define ID_BUTTON2 502 #define ID_BUTTON3 503 #define ID_BUTTON4 504 #define ID_BUTTON5

505

首先向工程引入这十二个图标:假设正常显示的图标 IDI_N0RMAL6

热点图标ID 依次为:IDI_HOT1、IDI_H0T2、 ID 号依次为: IDI_H0T6

IDI_N0RMAL1、IDI_N0RMAL2、

设置工具栏按钮热点图片

像前面的SetlmageList 函数设置工具栏按钮正常显示时的图片, 而SetHotlmageList 函数是设置工具热点按钮图

片,也就是当鼠标停留在按钮上所显示的图片,用法跟 SetlmageList 函数一样,只是 CImageList 类关联的图片

正常显示:

工具栏背景位图:

接着在OnlnitDialog 函数添加如下代码:

m」mageList.Create(48,48,ILC_COLOR24|ILC_MASK,1,1);〃图片大小必须一致

m_hotImageList.Create(48,48,ILC_COLOR24|ILC_MASK,1,1);

for(int i=0;i<5;i++)

{

m_I mageList.Add(AfxGetApp()->LoadIcon(IDI_NORMAL1+i));

m_hotImageList.Add(AfxGetApp()->LoadIcon(IDI_HOT1+i));

}

UINT nArray[5];

for(i=0;i<5;i++)

{

nArray[i]=ID_BUTTON1+i;

}

m_Toolbar.CreateEx(this);〃创建工具栏控件

m_Toolbar.SetButtons(nArray,5);

m_Toolbar.SetSizes(CSize(60,56),CSize(48,48));

m_Toolbar.GetToolBarCtrl().SetImageList(&m」mageList);

m_Toolbar.GetToolBarCtrl().SetHotImageList(&m_hotImageList);

m_Rebar.Create(this);

m_Rebar.AddBar(&m_Toolbar);

m_Rebar.RedrawWindow();

REBARBANDINFO info;

info.cbSize=sizeof(info);

info.fMask=RBBIM_BACKGROUND;

m_Toolbar.ModifyStyle(O,TBSTYLE_TRANSPARENT);〃设置工具栏背景色透明

info.hbmBack=LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_TOOLBACK));

m_Rebar.GetReBarCtrl().SetBandInfo(O,&info);

RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

运行效果:

TODO在这里设胃对话控制B

CToolBarCtrl工具栏控制类

这个类的用法跟CToolBar的用法大同小异,模式都差不多,只需要了解一下这个类里的Create和AddButtons

函数就行了,Create函数定义如下:

BOOL Create( DWORD dwStyle, const RECT & rect, CWnd* pParentWnd, UINT nID );

dwStyle :工具栏控件的风格rect :工具栏位置和区域pParentWnd:工具栏父窗口句柄 (属于哪个窗口) nID:工具栏控件ID号

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

基于Delphi的通用查询模块的设计与实现

基于Delphi的通用查询模块的设计与实现 周飞1,胡众义2 (1.温州大学现代教育中心浙江温州3250002.温州大学计算机科学与工程学院浙江温州325000) 【摘要】:本文提供了基于Delphi下的通用查询模块,给出了其设计原理及实现的主要技术。该模块操作简单,用户可自定义查询,调用方便,并在多个MIS中得到有效的应用。 【关键词】:通用;查询;面向对象开发环境 0.前言 目前管理信息系统中一个很重要的功能是查询。查询模块的设计是整个系统设计的关键。在以往的开发中,大多采用将查询静态地封装在系统内部,当查询需求发生变动时,对系统进行修改维护,然而用户对查询的需求往往是不断变化的,频繁的需求变动势必造成频繁地修改系统,使得维护的工作量及成本大大增加,因此设计开发支持用户自定义查询功能的通用查询模块,不仅能缩短系统的开发周期,而且易于维护。本文使用Del-phi设计,针对用户的需求,设计一个操作方便、查询高效的通用查询模块。 1.通用查询模块设计 本模块的设计思想是根据用户自定义的各种查询条件,产生相应的SQL语句供其它模块调用。 1.1需求描述 ①用户可自定义查询,选择数据库表中的任一字段作为查询字段。②用户可任意的组合查询字段进行多条件查询。③可按任一选定的字段进行排序。④查询方案能保存,供下次查询使用,并且能进行修改、删除等操作。查询方案包括:查询方案名、查询字段,关系运算符、多条件之间的逻辑关系等。⑤查询操作方便易用,查询模块与其它模块间的调用简单。⑥根据被查询字段,能自动设置数据输入类型,并检查数据输入合法性。 1.2通用查询模块界面设计 根据需求描述,界面设计尽量使用户操作方便、查询灵活。在实际运用中,多条件查询的查询条件超过6种的比较少,所以我们在设计界面时保留6种查询条件的空间。如果超过6种,就要添加查询,查询条件的范围可以包括到整个数据库表中的所有字段。界面如图1。 图1查询模块界面 界面说明如下: ①【方案】:此次查询方案以XML(可以扩展的标记语言)存储。②【另存为】:保存此次查询方案,供下次查询使用。③【删除】:删除被选择的查询方案。④【添加查询】:当查询条件超过6种时,增加查询条件。⑤【关系】:多种查询条件之间的逻辑关系,包括"且"、"或"等逻辑运算符。⑥【字段】:查询字段,数据表中的所有字段都可以作为查询字段。⑦【比较】:查询字段与用户输入的数值之间的关系。⑧【数值】:用户根据查询字段而输入的查询内容。⑨【确定】:根据用户自定义的查询方案产生并返回SQL语句,供其它模块调用。⑩【排序字段】:选择查询中的某一字段进行排序。⑾【清除所有】:清空被选中的查询方案。 2.通用查询模块实现 把查询字段名转换为数据库中对应的字段名,比较运算符、逻辑运算符转换为SQL中的相应符号,设置数据输入类型,数据输入合法性的检查等是实现本模块的主要技术。 2.1主要控件及说明 本模块中使用的主要控件及说明见表1 表1主要控件及说明 2.2程序实现 通用查询模块的主程序为函数PublicQuery(ParentForm:TForm;DataSet:TDataSet;varFilterStr:string)。其中参数Parent-Form是调用通用查询模块的父窗口,参数DataSet是查询数据集,为通用查询模块提供数据源,FilterStr是根据用户查询方案而产生的SQL查询语句,作为返回值。 2.2.1主程序 SetCaseName(ParentForm.Name);//设置查询方案名。 InitForm;//窗体初始化。 CreateFieldDateSet(DataSet);//创建字段数据集。 GetFilterStr;//产生SQL语句。 2.2.2窗体初始化 AddRelationList();//添加逻辑运算符。 AddCompareList();//添加关系运算符。 RelationComboBox1.KeyValue:='and'; ReadQueryCase;////读取方案。 ……//将关系、字段、比较的下拉框存到数组中。2.2.3设置输入类型 当用户选择不同的查询字段,根据查询字段的数据类型自动设置数据输入类型。输入的数据类型有数字、字母、时间等等。比如当查询字段为数字型,则要禁止字母等其他数据类型的输入。通过过程SetInputType(FieldComboBox:TDBLookupCom-boBox;varKey:Char;Text:string)来实现。关键代码如下: FieldCDS.Locate('FieldName',FieldComboBox.KeyValue,[]);//取查询字段名 caseTFieldType(FieldCDS.FieldByName('FieldType').Value)of ftDate,ftTime,ftDateTime://时间 ifnot(Keyin['0'..'9','.','-',':','',#13,#10,#8])thenKey:=#0; ftSmallint,ftInteger,ftWord://整数 ifnot(Keyin['0'..'9',#13,#10,#8])thenKey:=#0; ftFloat,ftCurrency,ftBCD://实数 if(Pos('.',Text)<=0)thenifnot(Keyin['0'..'9','.',#13,#10,#8])thenKey:=#0 (下转第157页)

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键控制中心对称。 一、正常情况下(不按任何键)(1)拖动边框:单边缩放(2)拖动角点:长宽同时缩放(3)框外旋转:自由旋转,任意角度二、Shift+鼠标(1)拖动边框:单边缩放(同一(1),即无影响)(2)拖动角点:长宽等比例缩放(3)框外旋转:以15°的倍数旋转三、Ctrl+鼠标(1)拖动边框:自由平行四边形变换(2)拖动角点:角度,和相邻两边发生变化(3)框外旋转:自由旋转,任意角度(同一(3),即无影响)四、Alt+鼠标(1)拖动边框:对边等比例缩放,角度不变(2)拖动角点:中心对称的自由缩放(不是等比列)(3)框外旋转:自由旋转,任意角度(同一(3),即无影响)Tips:框外旋转时凡

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.360docs.net/doc/5d13571353.html, " 定义第3行第2列的文本内容为:“https://www.360docs.net/doc/5d13571353.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

03.CorelDraw的工具栏找不到啦!属性栏也没有啦!菜单不见啦!泊钨窗口不见啦……

Coreldraw系列问答:工具栏消失 2007-01-13 06:54 作者:木平原创出处:天极设计在线 问:CorelDraw的工具栏找不到啦!属性栏也没有啦!菜单不见啦!泊钨窗口不见啦…… 答:这个问题基本上是由于误操作引起的。有时候我们找不到工具栏,有时候属性栏不见了……但是我们在菜单 栏下方点鼠标右键,查看相关的选项,会发现其对应的项目前已经勾上。可为什么会没有呢? 这种情况基本上发生在新手身上,误操作将工具栏、属性栏等拖到屏幕以外的地方去了。其实它们都在,只是看不到罢了。 解决的方法很简单,只需重置Coreldraw默认选项即可。 方法是按住F8不放,双击桌面上的Coreldraw图标,提示是否要恢复到初始值,点确定即可。这个办法对解决工具栏,属性栏不见或移位等诸问题适用。 另外此方法可解决以下的类似问题: 1.可解决左边工具箱不见的问题 2.可解决右边色盘不见的问题 3.可解决复原和重做功能键不能使用的问题 4.可解决打开时出现,Menu Configuration File已毁损,使用预设设定来取代含有旧的格式,使用预设设定来取代,然后CD9就不能用了,移除重新安装,还是会出现一样的情况。 5.可解决左上角的地方("文件"的菜单旁边)会出现一个字"跪"的问题 6.可解决在属性列上改变一个矩形的尺寸、角度时,会生成新的图形的问题 7.可解决CorelDRAW开启时一直出现「试图越过其尾端对一未命名文件进行读写」的问题 8.可解决最上面菜单不见的问题 9.可解决CD在启动时出现未发现目录c:\program\corel\Graphics9\Scriprs.正在默认到桌面项的问题 10.可解决其它一些莫名奇妙的Coreldraw程序或菜单使用出错问题 F8键相当于Coreldraw中的一键还原,用好它可以省去很多麻烦。这个方法对COREL家族的软件都通用。 下一次我们解答Coreldraw版本兼容性的问题。

JAVA菜单和工具栏界面代码设计

实验八菜单和工具栏 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class c extends JFrame{ private JMenuBar menuBar; private JMenu xtMenu,xyMenu,zyMenu,xsMenu,kcMenu,cjMenu,jsMenu;// private JMenuItem aItem,bItem,cItem,dItem;// private JMenuItem eItem,fItem,gItem,hItem; private JMenuItem iItem,jItem,kItem,lItem; private JMenuItem mItem,nItem,oItem,pItem; private JMenuItem qItem,rItem,sItem,tItem; private JMenuItem uItem,vItem,wItem,xItem; private JMenuItem yItem,zItem,aaItem,bbItem; public c(String account){ setTitle("学生管理系统"+"当前管理员为"+account); setSize(500,400); center(this);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); createMenu(); showToolBar(); setVisible(true); } //caidan public void createMenu(){ menuBar=new JMenuBar();//创建菜单栏 xtMenu=new JMenu("系统管理"); aItem=new JMenuItem("学院设置"); bItem=new JMenuItem("专业设置"); cItem=new JMenuItem("修改密码"); dItem=new JMenuItem("退出"); //dItem.setMnemonic('Q'); xtMenu.add(aItem); xtMenu.add(bItem); xtMenu.addSeparator(); xtMenu.add(cItem); xtMenu.addSeparator(); xtMenu.add(dItem);

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.360docs.net/doc/5d13571353.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

菜单及工具栏设计

菜单及工具栏设计 (总分:40.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:11,分数:22.00) 1.将一个预览成形的菜单存盘,再运行该菜单,却不能执行。这是因为______。 (分数:2.00) A.没有放到项目中 B.没有生成√ C.要用命令方式 D.要编程序 解析: 2.设计菜单要完成的最终操作是______。 (分数:2.00) A.创建主菜单及子菜单 B.指定各菜单任务 C.浏览菜单 D.生成菜单程序√ 解析: 3.为一个表单建立了快捷菜单,要打开这个菜单应当______。 (分数:2.00) A.用热键 B.用快捷键 C.用事件√ D.用菜单 解析: 4.如果不能预计频率,也无法确定逻辑顺序,则可以按字母顺序组织菜单项。当菜单中包含有______个以上的菜单项时,按字母顺序特别有效。 (分数:2.00) A.5 B.6 C.7 D.8 √ 解析: 5.要创建快速菜单,应当______。 (分数:2.00) A.用热键 B.用快捷键 C.用事件 D.用菜单√ 解析: 6.在菜单设计器中,要为某个菜单项定义一个快捷键,要在______定义。 (分数:2.00) A.菜单名称列 B.结果列 C.选项列√ D.菜单级 解析:

7.Visual FoxPro的系统菜单,其主菜单是一个______。 (分数:2.00) A.条形菜单√ B.弹出式菜单 C.下拉式菜单 D.组合菜单 解析: 8.使用菜单方法打开一个在当前目录下已经存在的查询文件zgik.qpr后,在命令窗口生成的命令是______。(分数:2.00) A.OPEN QUERYzgiqpr B.MODIFY QUERYzgiqpr √ C.DO QUERYzgiqpr D.CREATE QUERYzgiqpr 解析: 9.假设有菜单文件mainmu.mnx,下列说法正确的是______。 (分数:2.00) A.在命令窗口利用DO mainmu命令,可运行该菜单文件 B.首先在菜单生成器中,将该文件生成可执行的菜单文件mainmmpr,然后在命令窗口执行命令:DO mainmu 可运行该菜单文件 C.首先在菜单生成器中,将该文件生成可执行的菜单文件mainmmpr,然后在命令窗口执行命令:DOmainmmpr可运行该菜单文件 D.首先在菜单生成器中,将该文件生成可执行的菜单文件mainmmpr,然后在命令窗口执行命令:DO MEMU mainmu可运行该菜单文件√ 解析: 10.假设已经生成了名为mymenu的菜单文件,执行该菜单文件的命令是______。 (分数:2.00) A.DO mymenu B.DO mymenmpr √ C.DO mymenpjx D.DO mymenmax 解析: 11.使用Visual FoxPro的菜单设计器时,选中菜单项之后,如果要设计它的子菜单,应在 Result中选择______。 (分数:2.00) A.PadName B.Submenu √ https://www.360docs.net/doc/5d13571353.html,mand D.Procedure 解析: 二、{{B}}填空题{{/B}}(总题数:9,分数:18.00) 12.菜单设计器窗口中的 1组合框可用于上、下级菜单之间的切换。 (分数:2.00) 填空项1:__________________ (正确答案:菜单级) 解析: 13.创建SDI菜单的方法是,打开“菜单设计器”,从“显示”菜单中选择 1选项,并选择 2。 (分数:2.00) 填空项1:__________________ (正确答案:“常规选项”) 填空项1:__________________ (正确答案:“顶层表单”) 解析:

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

【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键控制中心对称。

坐席控件开发接口使用说明最新

呼叫中心坐席端控件(EasyAgc.ocx)使用说 明 为什么需要坐席端控件 在一个完整的呼叫中心系统中,坐席端软件是一个重要的组成部分。坐席人员通过坐席端软件与呼叫中心服务器(CCS)进行交互,完成对通讯设备的控制和相关信息的交换,如坐席的登录、注销、离席、复席、应答、呼出、转移等等动作,都是通过坐席端软件与CCS的通信完成的。一般来说,坐席端软件与CCS之间的通信是建立在TCP/IP的基础上的。具体的通信包格式可以自行定义。为了降低坐席端软件的开发难度和加快坐席端软件的开发速度,通行的做法是把坐席端软件分成通信模块与业务模块两部分。其中业务模块会随客户的需求变化而变化,一般都需要进行定制开发;而通信部分则相对变化较少,不论什么行业的呼叫中心,其坐席端软件一般都需要包括坐席的登录,注销,呼出,应答,挂断,转移等基本通信功能。因此有必要把坐席软件的通信模块进行封装,以OCX控件的方式提供给最终用户,最终用户不需要了解坐席端与CCS之间的通信包格式,也不必学习Socket通信的开发技术,只需访问OCX控件公布的方法和属性,对OCX控件公布的事件进行响应,就可以完成坐席端软件通信模块的开发。 坐席端控件支持的开发语言 北京同力信通软件公司坐席端控件符合Windows控件标准,理论上支持所有可以支持控件的开发语言,成功通过北京同力信通软件公司公司测试的语言包括: Delphi 7.0 Visula Basic 6.0 Visual C++ 6.0 IE6.0-VBScript/Jscript 坐席端控件的接口 方法 tlaOpen tlaClose tlaLogin tlaLogoff tlaACW tlaWCA

增值税发票查询平台基础驱动及安全控件安装手册

增值税发票查询平台基础驱动及安全控件 安装手册 国家税务总局电子税务管理中心 2016年2月 目录 1 根证书安装3 1.1根证书安装3 2基础驱动及安全控件安装 10 2.1 安全控件11 2.2使用航天信息金报税盘 11 3 系统登录13 3.1 常见问题14 3.1.1金税盘或税控盘未连接 14 3.1.2金税盘或税控盘证书口令输入错误 14

3.1.3 纳税人档案信息不存在15 14

1根证书安装 国家税务总局税务数字证书的根证书,是由国家税务总局核准的税务行业证书,为了确保纳税人发票信息的数据安全,建议在进行相关业务操作前先根据本教 程完成根证书的初始化安装。安装本证书及相关操作不会对用户的计算机构成危 害,如不安装本证书,则在访问本网站时,会出现如下图所示的警告信息(本系统 只支持微软IE内核浏览器,建议版本为8 (含)以上体验更佳),影响系统的正 常使用。 1.1根证书安装 以微软Windows 7操作系统及IE9.0浏览器下的操作为例: 1、未安装根证书首次访问本应用系统网站时,会出现下图所示警告,选择点击“继续浏览此网站”,即可正常打开系统的页面 此刘怙的安全UL事有冋竝百 比爭站出削B宾全证书不軽田淫佶仕巧址书毗执构脫 哉刚秦山全亠电呈A J貝狂対站卫1_:虹旳" 述沁ktl吐网血.再旦用曲除诩睥应泄瞌 曹甲泌矣Ml胡页. 即芳:季利克此网站(不応严)+ 就畀砧岀砒虫全证钉基宙量碗的远书哒机拘頤sn乩虫變证丸呃题 鰹童示期如序祕2井詡■毋■迸世咖■?■逹其印吐星in . Ma f-flHtfMWiiRK?

2、点击请下载驱动程序和安全控件的链接,将 driver_jsp_02.rar 压缩包 保存至本地: 曹塔值舷票査向平台 3. 使用winrar 等解压缩软件解压driver_jsp_01.rar ,解压后可得到 01.taxca.p7b 证书文件。 4、先断开金税盘与税控盘与电脑的连接,然后鼠标右键选择解压后得到的根 证书文件文件(01.taxca.p7b ),然后选择“安装证书”,如下图所示: taxca.pJb 5 、在弹出的证书导入向导中,点击“下一步”:

工具,菜单,及工具栏

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

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

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

组态王视频控件使用方法

组态王视频控件使用方法 第一步建立一个组态王工程; 第二步建立一个新画面; 第三步添加视频控件’具体步骤如下: 1插入通用控件video control 图1 Ifi人控件 图2 2、单击确定后鼠标变成“ +”状,按住鼠标左键,拉出一个矩形框,松开即可;

图3第三步添加按钮; 图4 第四步设置视频控件动画连接属性,完成后点击“确定”按钮,然后在开发系统界面的文件下拉菜单下选择全部存;

图5 第五步编辑按钮动画连接属性; 1、双击“打开视频”按钮,弹出下图对话框,单击“按下时”; 图6

弹出图XXX对话框选择“控件属性和方法”按钮,弹出(图8)对话框; 图7

选择“ Open Video ”单击确定弹出(图10)对话框了; 授伸名珊 |确定 両毎习 ZJ 取消 查若类型 1揑件方法 2d 屈性戒方进 Kb outB ox CapVll^ToAVI ^LoselTideo G E tl'evKum Zip enAVI 图8 KeadFort

图10 “LONG nReslnde”代表设备号,右键“我的电脑—管理—设备管理器一图像处理设备”双击你安装的视频设备就可以查看你的视频设备号。 关闭视频:视频练习.CIoseVideo(); 拍照:视频练习.SaveVideoFrame(LPCTSTR IpszPicName)" LPCTSTR IpszPicNam” 照片的保存地址和名称; 回放:视频练习.OpenAVI(LPCTSTR lpszFileName) “LPCTSTR lpszFileNam e要回 放的视频保存位置及名称; 摄像:视频练习.CapVideoToAVI(LPCTSTR IpszAVIName)'LPCTSTR lpszAVINam”表示录制的视频将保存的位置及视频文件名称; 抓拍:视频练习.SaveVideoFrameToRect(LPCTSTRlpszPicName) ;“ LPCTSTR IpszPicName”表示抓拍的图片即将保存的BMP文件的位置和名称; 设置视频源:视频练习.VideoSource();设置视频的来源,即选择视频设备; 停止摄像:视频练习.StopCapVideo();

使用Excel控件和函数制作数据库与查询平台

使用Excel控件和函数制作数据库与查询平台 2010年12月1日 目录 一、使用Excel控件和函数制作数据库与查询平台 (1) (一)建立一个数据库: (1) (二)使用控件与函数制作查询平台: (2) (三)函数与函数中数据的表达意义 (2) (四)本工具表在本人网站中的位置 (3) 二、使用Excel函数制作数据库与查询平台 (3) (一)DPRODUCT、VLOOKUP两个函数分别作查询平台比较 (3) (二)使用VLOOKUP函数作需显示英文和汉字的查询平台 (4) 一、使用Excel控件和函数制作数据库与查询平台 假如我们需要查询人民币与外币的比价 (一)建立一个数据库:

(二)使用控件与函数制作查询平台 外币 壹万元 (三)函数与函数中数据的表达意义 1、函数:INDIRECT(ADDRESS(INDIRECT("C5")+5,COLUMN(K6))) 2、图解函数中数据的表达意义

(四)本工具表在本人网站中的位置 https://www.360docs.net/doc/5d13571353.html,/ship/_private/02_jjgl/02_jsff/hbbjhs.html 二、使用Excel函数制作数据库与查询平台 (一)DPRODUCT、VLOOKUP两个函数分别作查询平台比较1、建立下表为数据库: 第1组数: 从员工编号起的整个数据区域 第2组数: 查询的项目(多项查询需对应项目) 第3组数: 查询项目与查询框,查询项目必须相同.如查询员工编号,此框也一定是员工编号 查询平台(1)缺点:不能显示汉字与英文

结论:查询平台(1)适合做多个相同数据、无英文、无汉字显示的查询平台。 第1组数:查询平台输入数据单元格 第2组数:需查询的区域(含不含栏目名称均可) 第3组数:数字表示查询区域的列 本查询平台比查询平台(1)函数制作方便,且能显示汉字与英文 缺点:后面不能有同样的数,如有,则还是显示的最前面的数据 结论:查询平台(2)适合做唯一数据(如干支)查询平台。 4、两个函数的优势比较 DPRODUCT 宜做多个相同数据、不需显示英文和汉字的查询平台 VLOOKUP 宜做唯一数据、且需显示英文和汉字的查询平台 (二)使用VLOOKUP函数作需显示英文和汉字的查询平台1、制作时辰查询平台 日上起时查询平台

Matlab GUI 菜单和工具栏常用操作

Matlab GUI 常用操作 菜单 1.编辑菜单 打开GUIDE,选择工具栏上面的菜单编辑按钮 2.添加菜单回调函数(callback) 菜单编辑完成保存后,在fig对应的m文件中会自动生成菜单的回调函数声明例如菜单tag名为menuFilePrint,则对应的callback函数为: function menuFilePrint_Callback(hObject, eventdata, handles) 可以在该函数内添加代码实现功能。 3.菜单项访问 获取菜单句柄 在matlab的函数中要对某个菜单进行访问,必须获得该菜单的句柄。 如果是在菜单的回调函数里面,hObject就是该菜单的句柄;

如果是在其他的函数里面要获得某一菜单的句柄,比如选中工具栏上的ZoomIn按钮,按钮处于被按下状态,同时要设置对应菜单项view->Zoom-Zoom In 为选中状态,如下图: 这里要在按钮“ZoomIn”的callback函数里面实现对菜单menuViewZoomIn的状态设置。首先得获得菜单的句柄: % first we must get the handle of menuZoomIn hFigChildren = allchild(gcf); % menuView handle hMenuView = findobj(hFigChildren,'Tag','menuView'); hvc = allchild(hMenuView); % menuViewZoom hViewZoom = findobj(hvc,'Tag','menuViewZoom'); hvzc = allchild(hViewZoom); %menuZoomIn handle hZoomIn = findobj(hvzc,'Tag', 'menuZoomIn'); 获取设置菜单状态 得到菜单的句柄后就可以得到菜单当前的状态了: if strcmp(get(hZoomIn, 'Checked'),'on') set(hZoomIn, 'Checked', 'off'); else set(hZoomIn, 'Checked', 'on'); end

相关文档
最新文档