Microsoft flexGrid control Microsoft flexGrid control控件比较常见。
VB名词解释

《Visual Basic 知识总结》10级2、3班一、名词解释:1、对象:对象是系统中的基本运行实体。
用户用来构筑用户图形界面的每一个可视的控件均为对象。
创建用户界面时用到的对象可分为窗体对象和控件对象。
整个应用程序也是一个对象,还有一些对象不可见。
2、属性:属性是对对象特性的描述,不同的对象有不同的属性。
3、事件:事件是由Visual Basic 预先设置好的,能够被对象识别的动作。
4、方法:方法是指控制对象动作行为的方式,是对象包含的函数或过程。
5、工程:是Visual Basic 应用程序开发过程中使用的文件集。
Visual Basic工程主要由窗体模块、标准模块和类模块三部分组成。
6、窗体:就是窗口,在Visual Basic 中,窗体是用户界面的最本的模块,也是创建应用程序所使用的主要对象之一。
7、标准模块:应用程序内其他模块访问的过程和声明的容器,扩展名.BAS。
8、窗体模块:窗体模块的文件扩展名为.frm。
这类模块是Visual Basic 应用程序的基础。
窗体模块可以包含事件过程、通用过程、以及变量、常数、类型和外部过程的窗体级声明。
9、类模块:类模块的扩展名.cls。
这类模块是面向对象编程的基础。
10、常量:在程序执行过程中其值保持不变的量。
在Visual Basic 中,常量分为两种:一般常量和符号常量。
11、符号常量:是在程序中用标识符表示的一些永远不变的常数或字符串。
12、事件驱动: Visual Basic 采用事件驱动编程机制。
当发生某个事件时,就会“驱动”预先设置的一系列动作,称为“事件驱动”。
13、事件过程:针对控件或窗体的事件编写的代码,称为“事件过程”。
14、变量:在程序执行期间其值可以改变的量。
在程序运行中,系统为程序中的每一个变量分配一个存储单元,变量名实质上计算机内存单元的命名。
变量名用于识别变量在内存中的位置,变量的类型指定其占用内存空间的大小。
15、事件过程:针对窗体或窗体的事件编写的代码,称为“事件过程”。
MsFlexGrid 的使用方法

MSFlexGrid控件概述1、作用:该控件以表格形式显示二维字符数组中每个单元的数据。
常用于处理复杂的二维数据表的问题。
如校历表、学生宿舍表、学生班级成绩表等。
2、添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft FlexGrid Control 6.0 (SP6)。
3、主要属性(1)Rows与Cols属性:分别用于设置或返回MSFlexGrid控件的行数与列数。
(2)Row与Col属性:分别用于设置或返回MSFlexGrid控件中活动单元的行号与列号。
(3)TextMatrix属性:该属性用于表示MSFlexGrid控件中单元格的内容。
格式为:TextMatrix (Row, Col);其中Row与Col分别表示单元格在MSFlexGrid控件中的行号与列号。
(4)FixedRows属性:用于设置表格显示过程中固定不变的行数。
如FixedRows=1,则表示固定行为1,如图8.3中第1行。
(5)FixedCols属性:用于设置表格中固定不变的列数。
如FixedCols=1,则表示固定列为1,如图8.3中第1列。
(6)FixedColor属性:用于设置固定行与固定列的颜色。
(7)MouseRow与MouseCol属性:用于返回鼠标光标所在单元格的行号与列号。
(8) ColWidth(Col)、RowHigh(Row)属性:用于设置与返回第Col列的宽度与第Row 行的高度,例如设置第0列的宽度为1500,第0行的高度为300的赋值语句为:ColWidth(0) = 1500RowHeight(0) = 300(9)DataSource属性:用于选择数据表,只能通过Data数据源控件选择数据表。
说明,若要用ADO Data控件作为数据源,则应使用MSHFlexGrid控件。
(10)MousePointer属性:用于设置鼠标光标形状,属性取值与光标形状如表8.1所示。
【例8.1】编写程序,定义MSFlexGrid1控件为10行、5列表格,给每一个单元格赋值为Row+Col,其中Row与Col分别表示控件单元格的行号与列号。
VC++ ADO数据库 FlexGrid控件

VC++ ADO数据库 FlexGrid控件收藏耗费了一下午,研究了一下VC的数据库编程,写了这个测试程序。
主要的功能为实现access 数据库的添加与删除,同时动态的将数据库数据显示在flexgrid控件中。
下面把过程记录下来,以备后用。
一。
ADO简介ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。
由于ODBC数据源也提供了一般的OLE DB Privider,所以ADO不仅可以应用自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序。
关于OLE DB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了。
让我们直接步入主题,如何掌握ADO 这种数据库访问技术ADO的操作方法和前面讲过的DAO的操作在很多方面存在相似之处。
二。
主要控件的布置程序运行效果如图:1.进入工程向导,建立基于对话框的mfc应用程序。
名为databasetest。
加入flexgrid控件:工程--->添加到工程------->components and controls。
找到Microsoft Flexgrid control,然后insert。
添加几个static box 和editbox,添加两个botton,实现插入和删除的功能。
2.打开access2003,建立空数据库Demo.mdb。
建立表Table1。
设置编号,时间,采样点数,累加次数,数据5个字段,分别为自动编号,时间/日期,数字,数字和备注类型如图:三。
数据库操作过程1.用#import指令引入ADO类型库要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll 的附属资源中,只需要直接用#import引用它既可。
可以直接在Stdafx.h文件中加入下面语句来实现:#import "c:\program files\commonfiles\system\ado\msado15.dll" \no_namespace \rename ("EOF", "adoEOF")其中路径名可以根据自己系统安装的ADO支持文件的路径来自行设定。
MFC MS Flex Grid控件

MS Flex Grid控件是微软的一个网格控件,可以用于显示数据库中的信息,对于一些比较简单的显示方式,还是比较方便的。
加入MS Flex Grid控件控件的方法:在VC中选择Project|Add to Project|Conpenments and Controls 在弹出的对话框中选择Registered ActiveX Controls然后选择Microsoft FlexGrid Control, version 6.0。
系统会提示你加入几个类进入你的工程。
包括四个类:CMSFlexGrid,CRowCursor,COleFont,CPicture;同时在VC的Control面板上会显示出MS Flex Grid控件的图标,可以同其他普通控件一样操作这个控件。
一、引言MSFlexGrid控件是Visual C++中提供的已注册ActiveX控件,它常被用于显示和操作表格式数据,特别是数据库文件的显示及交互操作。
在其他程序的交互界面中,对于不确定数目的同类大批量数据的输入而言,MSFlexGrid是十分有效的。
利用MSFlexGrid可以将输入文件中的数据显示出来并作交互修改,通过功能扩展可将表格数据直接copy到Excel、Word及Origin中的表格内,利用右键菜单实现此功能。
本文编程实现了上述类似功能,并将MSFlexGrid控件的一些调整操作(如行高、列宽、Cell内容的对齐方式等)加以外部按钮化,使其更为方便易用。
二、先行者对MSFlexGrid控件功能的扩充王勇、李延平[1]提出在MSFlexGrid的当前网格单元(Cell)内创建同样尺寸的编辑框(CEdit)覆盖该Cell,并将Cell内的Text传给编辑框,通过此编辑框以实现MSFlexGrid的网格编辑功能。
秦胜[2]提出用信息预解释(PreTranslate)方法,截留编辑框(CEdit)内的ESC键与回车键(Enter)按下消息,以防止在编辑框内不小心按下上述两按键之一时立刻关闭对话框,退出整个程序。
MSFlexGrid表格控件详细说明

MSFlexGrid 表格控件详细说明控件名:Microsoft FlexGrid Control文件:sys\msflxgrd.ocx============================= 属性=========================================■AllowBigSelection 属性在行头或者列头上单击时,(是否)可以使得整个行或者列都被选中。
■AllowUserResizing 属性 (是否)可以用鼠标来对 MSFlexGrid 控件中行和列的大小进行重新调整。
-------------------------------------■Appearance 属性设计时的绘图风格■BorderStyle 属性边框样式-------------------------------------■BackColorBkg 属性 '表格多余部分颜色■BackColorFixed 属性 '表格头部分颜色■BackColorSel属性 '选中部分颜色■BackColor属性 '所有未确定单元的颜色■CellBackColor 和 CellForeColor 属性返回或设置单个单元或者一群单元的背景和前景颜色。
-------------------------------------■ForeColor、ForeColorFixed 以及 ForeColorSel 属性各部分上文本的颜色。
■TextStyle 和 TextStyleFixed[= style ] 属性返回或设置指定单元或者一群单元上文本的三维样式。
----------------------------------------■FixedAlignment (index)= [value] 属性列号,设置值flexAlignLeftTop 0 左顶部flexAlignLeftCenter 1 左中flexAlignLeftBottom 2 左底部flexAlignCenterTop 3 中顶部flexAlignCenterCenter 4 中中flexAlignCenterBottom 5 中底部flexAlignRightTop 6 右顶部flexAlignRightCenter 7 右中flexAlignRightBottom 8 右底部■ColAlignment(number) 属性 [= value ] 返回或设置某一列中数据的对齐方式number=列号,或者 -1(一次性地对所有列进行设置)。
VB考试教程:用FlexGrid控件来操纵数据

四、⽤FlexGrid控件来操纵数据使⽤FlexGrid ActiveX控件可以在Microsoft Visual Basic的窗体中创建⼀个电⼦数据表格,也可称之为格。
FlexGrid ActiveX控件可以在格中显⽰任何类型的表格式数据:⽂本、数字、⽇期,甚⾄图形。
但是下⾯将主要学习使⽤FlexGrid控件显⽰Microsoft Access数据库的字段和记录。
FlexGrid控件在电⼦数据表格中分别⽤⾏和列来显⽰数据库表的记录和字段。
你可以在FlexGrid对象中进⾏许多电⼦数据表格的典型操作,包括选中单元、重置列宽、对齐标题和格式化⽂本。
你可以从⽤⽂本填充简单的FlexGrid控件开始,选中⽂本、设置⼏个格式选项。
接下来,你将进⼀步深⼊到把FlexGrid控件绑定到数据库上、显⽰数据库表、对记录进⾏排序、在整个数据库中搜索⽤户定义的字符串⽂本。
1、将FlexGrid⽤作通⽤电⼦数据表格FlexGrid是Microsoft Visual Basic 专业版和企业版中包含的ActiveX控件。
在⼯程中使⽤FlexGrid控件之前,需要在Project(⼯程)菜单的Components(部件)菜单项打开的对话框中选择Microsoft FlexGrid 6.0 control(即msflxgrd.ocx),把控件添加到⼯程中的⼯具箱中。
FlexGrid控件提供了许多电⼦数据格传统的组织优点。
可以⽤它来创建货物清单、计算税款、管理帐⽬、跟踪零件列表和库存清单等等。
另外,Microsoft将FlexGrid控件设计为⼀种可绑定的控件,它可以通过在同⼀窗体上的Data控件来显⽰数据库信息。
如果你想⽤原始的表格形式迅速显⽰数据库信息,那么FlexGrid控件就是的选择。
提⽰:Visual Basic 6.0专业版还提供了⼀个被称为Hierarchical FlexGridActiveX 的同类电⼦表格控件(即mshflxgd.ocx)。
江西省县级综合业务竞赛试题(理论)DXM(1)讲解

2004年江西省气象部门岗位技能比赛试题(县级综合业务理论部分)一、单项选择(请将正确答案的标号填在括号内,共40分,每题0.5分)1、由团块、薄片或条行云组成的云群或云层,成群或波状排列,云块个体都相当大,其视角多大于5度的云是。
()A、积云B、层积云C、高积云D、雨层云2、湿球包纱布时,包卷纱布的重叠部分不要超过球部圆周的。
()A、1/4B、1/3C、1/23、地面观测中日照以为日界。
()A、日落B、20时C、24时4、雪与毛毛雨同时下降,则天气现象栏应。
()A、记雨夹雪B、毛毛雨与雪分别记载C、只记雪D、只记毛毛雨5、定时能见度观测,四周视野中1/3范围的水平能见度为8000 米,1/3范围的水平能见度为8500米,1/3范围的水平能见度为9000米。
则水平有效能见度应记录为。
()A、8.0B、9.0C、8.5D、30.06、整理EL型风向风速自记纸时,发现915~1130期间东南/西北风向笔尖迹线中断,从实有的五次风向划线中挑取的10时、11时最多风向分别为:NNE、NE,则挑取的风向。
()A、10时和11时都正确B、10时和11时都不正确C、10时不正确,11时正确D、10时正确,11时不正确7、浓积云进一步发展,当云顶呈现时,应判断为秃积雨云。
()A、花椰菜形明显,云体高耸B、出现砧状C、出现幞状D、顶部开始冻结,形成白色毛丝般的冰晶结构8、《规范》规定:虹吸雨量计在雨季每月应将盛水器内的自然排水进行次测量,并将结果记在自记纸背面,以备使用资料时参考。
()A、1B、2C、1~2D、2次以上9、《规范》规定:湿球温度表下面的水杯杯口距湿球球部应约cm。
()A、1B、2C、3D、410、因值班员未添加墨水造成气压自记迹线815~905、925~1145中断,应统计错情个。
()A、3B、2C、0.2D、0.3E、0.011、《规范》规定:涂刷日照纸的药液,每次配量不宜过多,以能涂刷张日照纸的用量为宜。
vb中mshflexgrid和datagrid的区别

vb中mshflexgrid和datagrid的区别msflexgrid 是老版本的,不能用ADOmshflexgrid是新版本的,可以用ADO,而且还能做合并单元格之类的,功能强,但非常复杂,datagrid 可以实现普通的表格,而且几乎不用编程,最简单,当然功能没有上一个强.mshflexgrid 是一个纯sheet 的表格DataGrid和另外两个控件最大的区别在于DataGrid允许用户修改数据,而另外两个不允许。
如果你要用户修改数据,你应该使用DataGrid。
如果只是显示数据,应该使用MSFlexGrid 或者MSHFlexGrid,因为这两个控件显示的选项更多,更好看。
而MSFlexGrid和MSHFlexGrid之间的区别,主要是MSHFlexGrid支持绑定ADODC控件,而MSFlexGrid只支持Data控件。
MSFlexGrid引用方法:工程->部件->Microsoft FlexGrid Control 6.0MSHFlexGrid引用方法:工程->部件->Microsoft Hierarchical FlexGrid Control 6.0MSHFlexGrid 控件的一个主要特性是它能显示层次结构记录集—以层次结构方式显示的关系表。
创建层次结构记录集的最容易的方法是使用数据环境设计器并把MSHFlexGrid 控件的DataSource 属性赋给数据环境。
您也可以用Shape 命令作为ADO Data Control 的RecordSource 在代码中创建层次结构记录,如下面的示例:' 创建ConnectionString.Dim strCn As StringstrCn = "Provider=MSDataShape.1;Data Source=Nwind;" & _"Connect Timeout=15;Data Provider=MSDASQL"' 创建Shape 命令.Dim strSh As StringstrSh = "SHAPE {SELECT * FROM `Customers`} AS Customers " & _ "APPEND ({SELECT * FROM `Orders`} AS Orders RELATE " & _ "CustomerID TO CustomerID) AS Orders"' 把ConnectionString 赋给ADO Data Control 的' ConnectionString 属性, Shape 命令以及' 控件的RecordSource 属性.With Adodc1.ConnectionString = strCn.RecordSource = strShEnd With' 把HflexGrid 控件的DataSource 属性设置到' ADO Data 控件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Microsoft flexGrid control控件比较常见。
【实现步骤】
1.当鼠标点击表格控件的某一格时,首先判断该列的属性,是直接编辑呢,还是用下拉列表进行选择。
2.显示隐藏的文本控件或者下拉列表控件,显示的位置和大小与选中格的位置大小完全相同,这样可以覆盖选中格
3.将选中格的内容填到文本控件或者下拉列表控件中
4.修改完毕后,将新的内容填到选中格中,同时隐藏文本控件或者下拉列表控件。
【主要程序段及说明】
变量定义:
CComboBox m_ChangeCombo;--下拉列表控件,初始时不可见
CEdit m_Change;---------------文本控件,初始时不可见
CSring m_sChange;----------------与文本控件关联的字符串
CMSFlexGrid m_FlexGrid;-----表格控件
程序段:
表格点击事件:选中某一格后,就要显示相应的文本控件或者列表控件
void CChartInfoEditDlg::OnClickMsflexgrid()
{
//点击无效区,返回
long lRow = m_FlexGrid.GetRowSel();//获取点击的行号
long lCol = m_FlexGrid.GetColSel(); //获取点击的列号
if(lRow>m_SAttrInfo.attrNum) //如果点击区超过最大行号,则点击是无效的
return;
if(lRow == 0) //如果点击标题行,也无效
return;
//
CRect rect;
m_FlexGrid.GetWindowRect(rect); //获取表格控件的窗口矩形
ScreenToClient(rect); //转换为客户区矩形
// MSFlexGrid 控件的函数的长度单位是"缇(twips)",
//需要将其转化为像素,1440 缇= 1 英寸
CDC* pDC =GetDC();
//计算象素点和缇的转换比例
int nTwipsPerDotX = 1440 / pDC->GetDeviceCaps(LOGPIXELSX) ;
int nTwipsPerDotY = 1440 / pDC->GetDeviceCaps(LOGPIXELSY) ;
//计算选中格的左上角的坐标(象素为单位)
long y = m_FlexGrid.GetRowPos(lRow)/nTwipsPerDotY;
long x = m_FlexGrid.GetColPos(lCol)/nTwipsPerDotX;
//计算选中格的尺寸(象素为单位)。
加1是实际调试中,发现加1后效果更好
long width = m_FlexGrid.GetColWidth(lCol)/nTwipsPerDotX+1;
long height = m_FlexGrid.GetRowHeight(lRow)/nTwipsPerDotY+1;
//形成选中个所在的矩形区域
CRect rc(x,y,x+width,y+height);
//转换成相对对话框的坐标
rc.OffsetRect(rect.left+1,rect.top+1);
//清空下拉列表的内容
m_ChangeCombo.ResetContent( );
//以下省略哪一列用文本控件,哪一列用下拉列表控件的判断。
如果是用下拉列表控件,则会先向下拉列表控件中增加数据,否则为空……………………………….
……………………………….
//获取选中格的文本信息
CString strValue = m_FlexGrid.GetTextMatrix(lRow,lCol);
int num = m_ChangeCombo.GetCount();
//如果下拉列表控件中有数据,则表示使用下拉列表控件来进行数据选择if(num!=0)
{
m_ChangeCombo.ShowWindow(SW_SHOW);//显示控件
m_ChangeCombo.MoveWindow(rc); //移动到选中格的位置,覆盖
m_ChangeCombo.SelectString(-1,strValue); //内容全选。
方便直接修改
m_ChangeCombo.SetFocus(); //获取焦点
UpdateData(false);
return;
}
//
m_Change.ShowWindow(SW_SHOW); //显示控件
m_Change.SetWindowText(strValue); //显示文本
m_Change.SetFocus(); //获取焦点
m_Change.SetSel(0,-1); //全选
m_Change.MoveWindow(rc); //移动到选中格的位置,覆盖}
文本编辑完毕后,回车即将新的文本信息填到选中格中
void CChartInfoEditDlg::OnKillfocusEditChange()
{
UpdateData(true);
m_FlexGrid.SetText(m_SChange);//设置文本信息
m_Change.ShowWindow(SW_HIDE); //隐藏文本控件
UpdateData(false);
}
下拉列表编辑完毕后,将新的新息填到选中格中
void CChartInfoEditDlg::OnKillfocusChangecombo()
{
UpdateData(true);
CString str;
m_ChangeCombo.GetWindowText(str);
m_FlexGrid.SetText(str);
m_ChangeCombo.ShowWindow(SW_HIDE);
UpdateData(false);
}
【总结】这是一个比较简单的程序。
如果表格中列较多,属性各有不同,也许大家可以试着用更加复杂的控件来编辑信息。
也可以同时做多个文本控件和下拉列表控件,以对应不同列的不同信息要求(比如有的格信息可能又不同的格式要求,那么可以预先做好各种不同风格的控件与之对应)。
【笔者注】虽然当前有许多这样的例子。
但笔者做这个程序时,并没有借鉴现有的东西。
因此可能在方法上不见得最简单。
但确实效果不错,对付一般情况是没有问题的。
大家如果对此有疑问或新思想,可以和笔者讨论。
联系信箱:happyparrot@。