wincc中FlexGrid控件如何将列布满全局_0
WinCC中MSFleGrid控件编程程序
W i n C C中M S F l e G r i d控件编程程序Newly compiled on November 23, 2020MSFlexGrid总行数和总列数的定义:=5 '规定表格的总行数为5行= 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本内容(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”定义第3行第2列的文本内容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton Then= y / (0) -='右键选种当前行---备用u3u3:' = 0' = - 1'右键选种当前单元格---备用u3u3:' = x / (0) -' =' =End IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()= vbBlue '被点中MSFlexGrid的单元格背景变兰色= vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()= vbWhite= vbBlueEnd Sub使MSFlexGrid的单元格内容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private Sub MSFlexGrid1_EnterCell()= vbBlue= vbWhite= 0= LenEnd SubPrivate Sub MSFlexGrid1_LeaveCell() = vbWhite= vbBlueEnd SubPrivate Sub Text1_Change(), =End SubPrivate Sub Text2_Change() '修改表头 Dim r, c As Integerc = 0(r, 0) =End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”MSFlexGrid插入行Private Sub Command1_Click()If < 2 Then"AAA" & vbTab & "bbb"Else"asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行3 '删除第三行。
wincc msflexgrid控件的用法
wincc msflexgrid控件的用法在Siemens WinCC 中,`MSFlexGrid` 控件通常被称为"Grid" 或"FlexGrid" 控件,用于在界面上显示和编辑表格数据。
以下是一些基本的`MSFlexGrid` 控件的用法示例:1. 在窗体上添加MSFlexGrid 控件:-打开WinCC 项目。
-在画面设计器中,找到"FlexGrid" 或"Grid" 控件。
-将控件拖放到你想要显示表格的位置。
2. 设置MSFlexGrid 的属性:-双击`MSFlexGrid` 控件,打开属性窗口。
-在属性窗口中,你可以设置行数、列数、列标题、单元格格式等。
3. 通过代码设置和读取数据:-在WinCC 的VBScript 或ANSI C 脚本中,你可以使用代码操纵`MSFlexGrid` 控件。
-设置单元格的值:```vbMSFlexGrid1.TextMatrix(1, 1) = "Hello"```-读取单元格的值:```vbDim cellValuecellValue = MSFlexGrid1.TextMatrix(1, 1)```4. 处理事件:- `MSFlexGrid` 控件支持一些事件,你可以在脚本中处理这些事件。
例如,点击单元格的事件:```vbSub MSFlexGrid1_Click()MsgBox "Cell Clicked!"End Sub```5. 设置单元格格式:-你可以通过代码设置单元格的格式,如字体、颜色等。
```vbMSFlexGrid1.Col = 1MSFlexGrid1.Row = 1MSFlexGrid1.CellBackColor = RGB(255, 0, 0) ' 设置背景颜色为红色```这只是一个简单的用法示例。
WinCC中MSFleGrid控件编程程序
ColWordWrapOptionHeaderArray/Integer定义各头部是否允许WRAP
DataFieldArray/Single一个独立列绑定的数据库字段
FillStyleEnum定义改变文本或单元的其他属性是影响所有的选中单元还是只影响活动单元
BandIndentArray/Long定义BAND划分的字段数量
BandLevelLong返回当前的单元包含的BAND总数量
BandsLong返回网格中BAND总数量
CellAlignmentInteger设置/返回一个值以定义当前单元的水平和垂直对齐方式
CellBackColorOle_Color定义当前单元的字体是否为粗体
= vbWhite '字体变白色
End Sub
MSFlexGrid的单元格失去光标后的事件
Private Sub MSFlexGrid1_LeaveCell()
= vbWhite
= vbBlue
End Sub
使MSFlexGrid的单元格内容可编辑
'前提:新建两个text文本框,分别为text1和text1
CellFontBoldBoolean定义当前单元的字体是否为粗体
CellFontItalicBoolean定义当前单元的字体是否为斜体
CellFontNameString定义当前单元的字体名
CellFontSizeString定义当前单元的字体大小
CellFontStrikeThoughBoolean定义当前单元的字体是否为突显示
BackColorFixedOle_Color设置/返回网格中固定单元的背景色
flex均匀布局
flex均匀布局介绍:felx布局属于弹性布局的⼀种,主要作⽤是页⾯布局不因终端的尺⼨发⽣变形,以前⼀直使⽤bootstrap的栅格系统去实现;前两天组⾥培训了flex,记录以下内容加深理解。
背景:我要实现⼀个容器内的⼦元素平均分布在容器内,并且在容器宽度变化时,⼦元素可以换⾏并且依然均匀分布。
效果如下:元素结构<div class="container"><span class="bg_red"></span><span class="bg_green"></span><span class="bg_black"></span><span class="bg_blue"></span><span class="bg_pink"></span></div>简单实现:通过⽗元素的text-aligin:justify,⼦元素inline-block;代码如下:.container {text-align: justify; background:rgb(42, 157, 165)}.container > span {display: inline-block;font-size: 2em;height: 5em;width: 5em;}效果如下:完蛋,效果未完成,css应该没有问题,坑在这⾥:我的⼦元素数量是5个,但是填不满⽗元素的宽度;如果我的⼦元素能够多起来的话,效果应该就会出来了,如下图:注意上图的第⼀⾏与第⼆⾏的变化:第⼀⾏的⼦元素实现了平均分布在容器内,但第⼆⾏的⼦元素还是默认的text-align:left效果,只有当第⼆⾏沾满⽗元素容器时才会均匀分布,如下:综上所述,虽然text-align:justify; display:inline-block 可以实现均匀分布;但是对于元素的数量有限制;实⽤性低。
wincc画面无法全部显示
wincc画面无法全部显示
wincc项目,在笔记本中运行中无法全部显示,怎么在wincc中设置才能适应笔记本电脑的分辨率?
最佳答案
如果hmi画面不匹配已组态的尺寸(以像素为单位),则全屏模式时,项目仅在画面的一部分上显示。
要以全屏模式启动系统,在winccflexible的项目视图中打开“设备设置”对话框。
在“运行系统设置”下设置复选项“全屏模式”。
可以根据要求在windows下隐藏任务栏。
要隐藏任务栏,选择“开始>设置>任务栏”(start>se ttings>taskbar),然后在“任务栏属性”(taskbarproperties)对话框里取消选择“总在最前”(alwaysontop)和“自动隐藏”(autohide)复选框。
可以通过如下方法调整画面——
1、一般在wincc-计算机属性—属性—图形运行系统——窗口属性下,选择适应画面和全屏就可以;
2、如果显示比例不行,在桌面上右键—属性—设置
——屏幕分辨率——调整显示器分辨率到适合。
3、如果还是不行,就在画面编辑器中,更改“画面对象”的几何属性,调整符合屏幕分辨率的高度和宽度,然后再调整画面中各对象的大小。
另外,还可以参考:
wincc画面调整——
/service/answer/solution.asp?q_id =30102&cid=1032
wincc修改屏幕大小有没有好方法——
/service/answer/solution.asp?q_id =57786&cid=1032。
WinCC中MSFlexGrid控件编程程序
M S F l e x G r i d总行数和总列数的定义:M S F l e x G r i d1.R o w s=5'规定表格的总行数为5行'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1'右键选种当前单元格---备用u3u3:'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5'MSFlexGrid1.Col = MSFlexGrid1.Col'Text1.Text = MSFlexGrid1.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色使'Text1.Text = MSFlexGrid1.TextText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd SubPrivate Sub Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End If复制AllowUseResizingEnum设置/返回一个值,定义用户是否可以调整网格行,列的尺寸BackColorOle_Color设置/返回一网格中非固定单元的背景色BackColorBandArray/Ole_Color设置/返回网格中每个独立BAND的背景色BachColorBkgOle_Color设置/返回网格的背景色(单元头部除外)BackColorFixedOle_Color设置/返回网格中固定单元的背景色BackColorHeaderArray/Ole_Color设置/返回网格头部单元的背景色BackColorIndentArray/Ole_Color设置/返回网格中凹痕部分的背景色BackColorSelOle_Color设置/返回网格选中单元的背景色BackColorUnpopulatedOle_Color设置/返回网格非用户操作区的背景色BandDataArray/Long为独BAND设置/返回任意的值,以合在代码中通过这些值确定BAND BandDisplayEnum定义在网格中BAND是水平还是垂直显示CellFontWidthSingle定义当前单元的字体宽(用点表示)CellFontColorOle_Color设置/返回当前单元格的前景色CellHeightLong设置/返回当前单元格的高度CellLeftLong返回当前单元格的左边距CellPictureStdPicture设置/返回当前单元格的图片CellPictureAlignmentInteger设置/返回当前单元格或某范围的单元格的图像对齐方式CelltextStyleEnum设置/返回当前单元或选中范围单元文本的3D风格CellTopLong返回当前单元格的垂直位置CellTypeEnum设置/返回当前单元格的类型(标准.固定)CellWidthLong返回/设置当前的单元的宽度ClipString设置/返回网格选定范围单元的内容ColSelArray/Long设置/返回某个范围单元的起始列ColWidthArray/Long设置/返回某个列的宽度ColWordWrapOption Array/Integer设置/返回网格的非固定单元是否允许WRAP ColWordWrapOptionBandArray/Integer定义网格的BAND是否允许WRAP ColWordWrapOptionFixedArray/Integer定义列的固定单元是否允许WRAPColWordWrapOptionHeaderArray/Integer定义各头部是否允许WRAPDataFieldArray/Single一个独立列绑定的数据库字段FillStyleEnum定义改变文本或单元的其他属性是影响所有的选中单元还是只影响活动单元FixedColsLong设置/返回固定列的列数FixedRowsLong设置/返回固定行的行数FocusRectEnum定义控件对当前单元的焦点表示ForeColorSelOle_Color设置/返回设置单元的前景色FormatStringString定义一个格式串用来设置网格列的宽度,对齐方式,固定行文本固定列文本GridColorOle_Color设置/返回网格单元间的线的颜色GridColorBandArray/Ole_Color设置/返回网格BAND的线的颜色GridColorFixedOle_Color设置返回网格固定单元间的线的颜色GridColorHeaderArray/Ole_Color设置/返回网格头部间的线的颜色GridColorIndentOle_Color设置/返回网格INDENT单元间的线的颜色GridColorUnpopulatedOle_Color设置/返回网格UNPOPULATED区域间的颜色GrigLineEnum定义网格单元间的线的类型GrigLinesBandArray/Enum定义网格各BAND间的线的类型GrigLinesFixedEnum定义网格固定单元的线的类型MergeColARRAY/BOOLEN设置/返回一个值表明哪些列可以将内容合并MergeRowARRAY/BOOLEN设置/返回一个值表明哪些行可以将内容合并MouseColLong返回鼠标光标的列坐标位置MouseRowLong返回鼠标光标的行坐标位置PictureStdPicture返回MSHFLEXGRID的控件快照PictureTypeEnum设置/返回PICTURE类型RedrawBoolean设置/返回一个值,表明MSHFLEXGRIDR控件是否在每个改变后重画RowLong设置/返回当前单元的垂直坐标RowDataArray/Long为各行设置/返回任意的值,以合在代码中通过这些值确定行RowExpandableBoolean定义当前行是否可以展开RowExpandedBoolean返回一个值表明当前行是否展开行SortEnum根据某些村准备设置排序的值TextString设置/返回一个单元或一个范围内单元的文本内容TextArrayarray/string不改变ROW,COL属性,设置/返回任意单元的文本内容TextMatrixarray/string设置/返回某个选定行,列的单元的文本内容TextStyleEnum设置/返回网格通常单元的3D文本风格TextStyleBandArray/Enum设置/返回网格BAND的3D文本风格TextStyleFixedEnum设置/返回网格各固定行的3D文本风格TextStyleHeaderArray/Enum设置/返回网格各头部的3D文本风格TopRowLong设置/返回网格最上面的可见行VersionInteger返回正在使用MSHFLEXGRID控件的版本WordWrapBoolean定义当到达单元的边界时,网格的单元的内容是否WRAP2)Clear方法BAND方法CLEAR可以清除网格中的内容,但不影响网格的行,列数,如果要清除网格的结构,包括顺序及网格各列的名称,应当使用ClearStructure方法.3) MSHFELXGRID的控件的主要事件Collapse用户折叠了网格的一行Compare当SORT属性被设置为CUSTOMERSORT,允许用户定义排序过程EnterCell当一个新的单元成为当前活动单元时(获得)Expand用户展开了网格的一行LeaveCell当一个新单元成为当前活动单元前(离开)RowColChange当一个新单元成为当前活动单元时Scroll用户用键盘,滚动条滚动网格的内容或网格的内容由程序滚动时TRUE FALSE时精心整理。
Vsflexgrid控件使用方法
Vsflexgrid控件使用方法Vsflexgrid控件使用方法1、ShowCell:显示指定位置的单元格比如一个有很多列的 Vsflexgrid,希望在显示数据时先显示第20列的数据,如果不对控件进行设置,则需要手工拖动鼠标,此时 ShowCell 就很有用了,使用方法为ShowCell 行,列2、在Excel 中有一个冻结窗口的功能,使用时可以固定某一行(几行)或者某一列(几列)的数据,那么Vsflexgrid 中是否也可以实现呢,答案是肯定的,需要用到的属性是FrozenCols 与FrozenRows,前者用于固定某几列,后者为固定行,注意行与列的顺序为由上到下,由左到右使用方法为:FrozenCols 4 '固定前4列,横向拖动时靠左边的4列不动3、在编辑单元格的内容时,有时可能希望点击某个单元格时显示一下下拉的列表或者显示一个指定的控件,比如日期控件,实现方法为:ColComboList(第几列) = "任意的字符"这样在点击时某一列时就会出现下拉的列表框了4、实际工作时经常要对某一数据列进行排序,自已写排序语多当然是可以的,而Vsflexgrid 提供了更简单的方法,即设置属性ExplorerBar,比如 ExplorerBar=5时,点击列头就会排序,并且会显示排序的箭头方向5、开发中经常需要将VsFlexGrid 中的数据导出为Excel 文件,引用Excel 对象进行操作是可以的,但Vsflexgrid 同时提供了一个SaveGrid 方法,比如要将 Vsflexgrid 中的数据保存在当前程序目录下的 Excel 文件中,方法为:Vsflexgrid.SaveGrid "book1.xls", flexFileExcel此方法的好处时在没有装Office 的机器上仍然可以正常实现,而且速度非常快6、VSFlexGrid控件是否支持表格编辑?可以,修改VSFlexGrid1.Editable =flexEDKbdMouse属性就行。
MSFlexGrid控件属性及使用方法
MSFlexGrid控件属性及使用方法整理by u3u3以下容由u3u3编写测试成功!请注明来自:================================================= MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本容MSFlexGrid1.TextMatrix(3, 0) ="地址" '定义第3行的左边表头文本容为:“地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.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.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlueMSFlexGrid1.CellForeColor = vbWhiteText1.Text = MSFlexGrid1.TextText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd SubPrivate Sub Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。
VC中MicrosoftFlexGrid控件的使用
VC中Microsoft FlexGrid控件的使用VC中Microsoft FlexGrid控件的使用及合并单元格、可编辑操作1. 给FlexGrid控件绑定成员变量:m_FlexGrid。
2. 设置行列数m_FlexGrid.SetCols(4); //设置列数m_FlexGrid.SetRows(6); //设置行数3. 设置固定行数和固定列数m_FlexGrid.SetFixedRows(1); //设置固定行数为1行m_FlexGrid.SetFixedCols(0); //设置固定列数为0列 4. 设置列宽、行高m_FlexGrid.SetColWidth(1,1500); //设置列号为1的列宽为1500m_FlexGrid.SetRowHeight(2,300); //设置行号为2的行高为300 5. 设置文本对齐方式m_FlexGrid.SetColAlignment(1,4); //设置列号为1的文本对齐方式参数对应描述为:0 单元内容顶部左对齐。
1 单元内容中间左对齐。
对字符串的缺省设置值。
2 单元内容底部左对齐。
3 单元内容顶部居中。
4 单元内容中间居中。
5 单元内容底部居中。
6 单元内容顶部右对齐。
7 单元内容中间右对齐。
对数字的缺省设置值。
8 单元内容底部右对齐。
9 单元内容一般对齐方式。
对字符串中间左对齐而对数值中间右对齐。
6. 设置表头和单元格内容m_FlexGrid.SetTextArray(0,"Head1"); //设置表头(第1列)内容为“Head1”m_FlexGrid.SetTextMatrix(1,1,"Text"); //设置单元格(行号1列号1)内容为“Text” 7. 增加一行m_FlexGrid.AddItem("AddString",(COleVariant)(3L)); //在行号为3的位置增加一行8. 合并单元格for(i=0;i<4;i++)m_FlexGrid.SetTextMatrix(5,i,"合计"); //将行号为5、列号从0到4的单元格内容设为相同“合计”m_FlexGrid.SetMergeCells(2); //设置单元格合并方式(下述)m_FlexGrid.SetMergeRow(5,TRUE); //设置要合并的行SetMergeCells函数的参数值如下:0: flexMergeNever 默认的选项,就是不合并1: flexMergeFree 不规则的合并2: flexMergeRestrictRows 行合并3: flexMergeRestrictColumns 列合并4: flexMergeRestrictBoth 行,列都合并注意只有单元格内容相同时才能进行合并操作。
msflexgrid控件用法
msflexgrid控件用法MSFlexGrid控件是Visual Basic 6.0提供的一种非常有用的表格控件,可以在窗体中创建可编辑的网格。
它允许用户浏览和编辑多行和多列的数据,还可以对数据进行排序、过滤和格式化。
在本文中,我将详细介绍MSFlexGrid控件的用法,包括创建、显示和操作表格数据。
一、创建和显示MSFlexGrid控件在使用MSFlexGrid控件之前,首先需要在窗体中添加一个FlexGrid控件。
在VB6的工具箱中,可以找到FlexGrid控件并将其拖放到窗体上。
在窗体上添加FlexGrid控件后,可以通过设置控件的属性来进行进一步的配置和定制。
1. 设置列数和行数在使用MSFlexGrid控件之前,首先需要设置表格的列数和行数。
可以通过设置Col属性和Row属性来实现。
例如,设置表格的列数为5,行数为10的代码示例如下:MSFlexGrid1.Cols = 5MSFlexGrid1.Rows = 102. 设置表格显示样式可以通过设置控件的属性来设置表格的样式,例如,可以设置表格的边框颜色、背景颜色和字体。
以下是一些常用的属性设置示例:MSFlexGrid1.BorderStyle = flexBorderStyleFixedSingle ' 设置边框样式为单线条MSFlexGrid1.BackColor = vbWhite ' 设置背景颜色为白色MSFlexGrid1.ForeColor = vbBlack ' 设置前景颜色为黑色MSFlexGrid1.FontSize = 12 ' 设置字体大小为12号3. 添加数据到表格可以通过设置控件的TextMatrix属性来添加数据到表格中。
TextMatrix属性是一个二维数组,可以通过指定行和列的索引来设置相关的数据。
例如,将数据“Apple”添加到(1,1)位置的代码示例如下:MSFlexGrid1.TextMatrix(1, 1) = "Apple"二、操作MSFlexGrid控件中的数据在将数据添加到表格之后,可以对表格中的数据进行许多操作,例如,读取单元格数据、排序和过滤数据等。
wincc msflexgrid控件的用法
wincc msflexgrid控件的用法WinCC是西门子推出的一套面向过程自动化的监控与控制软件,其功能强大,覆盖了自动化行业的各个领域,包括工业自动化、制造业、能源管理、公共设施、楼宇自动化等。
WinCC的多种控件是实现监控和报警功能的核心部分之一,其中MSFlexGrid控件是一种常用的控件之一,具有强大的灵活性和可扩展性,下面将详细介绍MSFlexGrid控件的用法。
一、MSFlexGrid控件的基本概念和特点MSFlexGrid控件是一种用于显示和编辑表格数据的控件,其特点是可以根据需要自定义行数和列数,并可以显示大量的数据。
MSFlexGrid控件支持多种数据类型,包括字符串、整数、浮点数等,同时还可以设置行高、列宽、颜色、字体等属性,以便于满足不同的显示需求。
二、MSFlexGrid控件的创建和初始化创建MSFlexGrid控件的步骤如下:1. 首先,需要在VB环境中打开一个新的工程,并添加一个MSFlexGrid控件。
2. 然后,可以通过拖拽的方式调整控件大小和位置,以适应实际的界面设计需求。
3. 接下来,需要设置控件的一些基本属性,例如行数、列数、行高、列宽等。
初始化MSFlexGrid控件的步骤如下:1. 在VB环境中打开代码编辑器,并在Form_Load事件中添加代码。
2. 通过代码设置控件的属性,例如行数、列数、行高、列宽等。
3. 通过代码设置控件的样式,例如背景颜色、字体等。
4. 可以通过代码向控件中添加数据,例如通过循环遍历的方式向每个单元格赋值。
三、MSFlexGrid控件的常用属性和方法MSFlexGrid控件有很多常用的属性和方法,下面列举一些常用的如下:1. Rows属性,用于设置和获取控件的行数。
2. Cols属性,用于设置和获取控件的列数。
3. RowHeights属性,用于设置和获取控件的行高。
4. ColWidths属性,用于设置和获取控件的列宽。
5. TextMatrix方法,用于设置和获取单元格的数据。
FlexGrid控件的使用(一)
FlexGrid控件的使用(一)发布时间:2007-05-05 来源:未知作者:未知Hierarchical FlexGrid与分层结构的Recordset将Hierarchical FlexGrid和一个分层结构的Recordset结合起来可以查看关系类型的信息。
在将这些信息显示给用户的时候,可以确保原始数据的安全,使之不被用户修改;也可以通过将文本框添加到窗体defForm来增加Hierarchical FlexGrid的单元格编辑功能。
当Hierarchical FlexGrid被绑定到分层结构的Recordsets 上时,可以使用带区来显示分组的和相关的Recordsets。
注意在执行本步骤之前,必须先将数据绑定到Hierarchical FlexGrid。
为此,请参阅将数据绑定到分层结构的FlexGrid。
要使用带区在Hierarchical FlexGrid中显示分层结构的Recordsets1. 右击Hierarchical FlexGrid,然后从快捷菜单中选择“属性”。
出现Hierarchical FlexGrid 的“属性页”对话框。
2. 在“通用”选项卡中,设置“带区显示”。
关于每一种带区显示的描述,请参阅带区的格式设置。
3. 在“带区”选项卡中,从“带区”框中选择一个带区。
这里列出的可用带区是根据Command 分层结构中的Recordsets确定的。
对于每一个带区,生成Recordset的Command 的名称被显示在括号中。
4. 在必要的时候修改每个带区的属性。
与此有关的详细信息,请参阅带区的格式设置。
5. 单击“确定”,将带区属性应用于Hierarchical FlexGrid并关闭“属性页”对话框。
带区的格式设置在Hierarchical FlexGrid中,可以利用带区格式设置功能来指定某个Recordset 的显示选项。
ADO 分层结构Recordset中的每一个Recordset都将被创建一个带区。
Flex布局:实现左右两列自伸缩撑满效果的
Flex布局:实现左右两列⾃伸缩撑满效果的⽬前测试⽀持的浏览器:兼容IE10及以上、Chrom、Firefox浏览器。
假如考虑IE10以下浏览器,可以考虑其他写法。
话不多说,上代码:<div style="background: green; display: flex;"><div style="flex-basis: auto; white-space: nowrap; background: #f00; ">我在左边。
我很长很长很长很长很长长很长很长很长很长很长很长</div> <div style="width: 100%; background: #0f0;">我在右边很短</div></div>效果如下:再来个反例代码:<div style="background: #00f; display: flex;"><div style="flex-basis: auto; white-space: nowrap; background: #f00; ">我在左边很短</div><div style="width: 100%; background: #0f0;">我在右边边。
我很长很长很长很长很长长很长很长很长很长很长很长</div></div>效果如下:相信⼤家也⼀⽬了然了。
左侧内容多的话,会⾃动撑开左侧的div。
同时右边的div还可以⾃适应剩余的宽度(外层div宽度 - 左侧div宽度)。
再也不⽤去考虑传统的盒⼦模型布局中的 display position float之类的了。
弹性盒模型:flex多行多列两端对齐,列不满左对齐
弹性盒模型:flex多⾏多列两端对齐,列不满左对齐【1】需求:【2】解决⽅案:最近遇到布局上要求item两端对齐,且最后⼀⾏在列不满的情况下要求左对齐,使⽤flex的justify-content: space-between;实现时发现最后⼀⾏不能左对齐,⽽是两端对齐⽅式。
不是项⽬上想要的效果# ⽹上查了⼀些资料,有两种⽅法可以实现效果:**1.添加⼏个空item**(对我来说最有效的,适⽤于⼤多数场景)根据布局列数添加空item,⽐如每⾏最⼤n列,那么在最后添加n-2个空item即可<html><style>.box {display: flex;flex-wrap: wrap;justify-content: space-between;}.item {width: 30%;height: 50px;background-color: #f1f8ff;margin-bottom: 10px;}.placeholder {width: 30%;height: 0px;}</style><body><div class="box"><div class="item"></div><div class="item"></div><div class="item"></div><div class="item"></div><div class="item"></div><div class="placeholder"></div></div></body></html>实现效果**2.利于after或者before(适⽤于每⾏3或者4列)** .box:after {display:block;content:"";width: 30%;height:0px;}.。
flex对齐方式
flex对齐方式Flex局是CSS3入的新方式,可以简便、完美地实现各种页面布局。
flex局模型将容器分为main axis以及cross axis,其中的子元素可以定义沿着main axis对齐方式,以及沿着cross axis的对齐方式。
在下面的文章中,将会简要介绍flex布局中的对齐方法。
flex布局中,main axis指容器中普通方向上的轴线,即横轴,而cross axis指容器中另一个方向上的轴线,也就是竖轴。
在flex 布局中,子元素可以通过设置justify-content属性来定义沿着主轴的对齐方式,其可设置值有:flex-start、flex-end、center、space-around、space-between以及space-evenly。
当容器中的子元素沿着主轴排列时,justify-content属性就会起作用。
flex-start是默认值,它会使子元素紧挨着main axis端点排列,而flex-end则会使子元素紧挨着main axis另一端排列,而center属性会让子元素在main axis中间对齐,space-around和space-between分别会在两个子元素之间填补相等的间距,space-evenly则会在两个子元素之间填补相同的间距,使其排列成等距,圆形结构。
另外,在flex布局中,还可以定义子元素沿着cross axis的对齐方式,可设置值有:flex-start、flex-end、center、baseline、stretch。
其中,flex-start和flex-end分别会使子元素沿着cross axis端点对齐和排列,center则会使子元素在cross axis中间对齐,baseline会使其跟容器的第一行文本(第一个元素)拉齐,stretch则是默认值,会使子元素在cross axis上拉伸填充满整个容器。
此外,align-self属性也可以用于定义某个子元素沿着cross axis的对齐处理,功能上和align-items属性类似。
WinCC中MSFleGrid控件编程程序
MSFlexGrid总行数和总列数的定义:=5 '规定表格的总行数为5行= 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本内容(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”定义第3行第2列的文本内容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton Then= y / (0) -='右键选种当前行---备用u3u3:' = 0' = - 1'右键选种当前单元格---备用u3u3:' = x / (0) -' =' =End IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()= vbBlue '被点中MSFlexGrid的单元格背景变兰色= vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()= vbWhite= vbBlueEnd Sub使MSFlexGrid的单元格内容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private Sub MSFlexGrid1_EnterCell()= vbBlue= vbWhite= 0= LenEnd SubPrivate Sub MSFlexGrid1_LeaveCell() = vbWhite= vbBlueEnd SubPrivate Sub Text1_Change(), =End SubPrivate Sub Text2_Change() '修改表头 Dim r, c As Integerc = 0(r, 0) =End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”MSFlexGrid插入行Private Sub Command1_Click()If < 2 Then"AAA" & vbTab & "bbb"Else"asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行3 '删除第三行。
WINCC flexible的使用
思考题
8.怎样使用库中的对象?怎样生成新的库对象? 9.怎样用图形IO域生成指示灯? 10.怎样使对象视图和输出视图自动缩为图标?怎样选 择对象视图显示的内容? 11.怎样用对象视图和鼠标拖放功能实现对象与变量的 连接? 12.怎样用简便方法生成画面切换按钮? 13.交叉引用表有什么作用?怎样使用交叉引用表? 14.怎样查找和替换字符串和对象? 15.怎样批量修改对象的属性?
库的使用
库的分类 1.共享库
共享库独立于项目数据,以扩展名*.wlf存贮在独立 的文件中,可以用于所有项目。
2.图形库
存放图形
3.项目库
每个项目都有一个项目库,项目库的对象与项目数 据一起存贮,只能用于创建该库的项目。项目复制 到其他计算机时,项目库也被同时复制。
库的使用
生成新的库对象的方法
1.库对象的移动 2.将编辑过的画面对象保存为库 对象 3.用来自文件的图形生成库对象 4.将面板保存为库对象 4.3.3 用图形IO域生成指示灯 1.问题的提出 2.将图形库中的图形装入图形对 象列表
“HMI设备和控制器” 画面
再次进入HMI和控制器画面
• 画面模版一
画面浏览二
(2)建立HMI设备与PLC之间的连接
(3)保存项目
创建项目
(4)创建多用户项目(项目生成后,点添加 设备)
创建项目 2.画面的管理
04_Embed_13.jpg
创建项目
1.3 组态画面浏览系统 1.实现画面切换的方法 1)在“画面”编辑器中组态切换到其他画面 的按钮和功能键,用集成在按钮和功能键中 的系统函数切换画面。 2)用“画面浏览”编辑器来组态画面之间的 结构,用鼠标拖放的方法确定各画面之间的 关系,组态后画面上将自动生成切换画面的 浏览控件。 2.画面浏览编辑器
Flex布局中,子元素不能height填充满
.left { background-color:lightgreen; width:100px;
}
.right { background-color: red; -webkit-flex: 1; flex:1; position:relative;
}
.child { background-color:steelblue; position:absolute; width:100%; height:100%;
}
.scrollable { overflow-y:auto;
}Hale Waihona Puke 网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
Flex布局中,子元素不能 height填充满
经过验证,需要在父元素(flex-container)设置height=100%;而子元素不可以设置height=100%否则将失效 于是,如上图去除子元素的100%属性。
<div class="main-container"> <div class="left"> LEFT </div> <div class="right"> <div class="child scrollable"> RIGHT <br/><br/><br/> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore. </div> </div>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
wincc中FlexGrid控件如何将列布满全局
如图1,拖了一个flexgrid控件,大小定了,运行后,调整列宽变窄,列就与边框分离了,不好看。
如何让最后一列始终与边框结合,调整列宽不会出现图中的灰色部分。
最佳答案
做不到,否则你用动态调节,每个控件都有宽度属性,wincc运行的时候你可以通过脚本动态改变,比如flexgrid1.width=2000,但前提是你要知道你手动调节的每个列的宽度,如果你每个列的宽度也是用脚本动态改变的,可以实现你的功能,但你手动调节不行了,因为不知道你手动改变列宽的值,但你可以一开始就固定每个列的宽度使其最后一列刚好与控件边框结合,比如在打开画面的时候加载如下脚本固定列宽:
flexgrid1.colwidth(0)=1600
flexgrid1.colwidth(1)=2300
flexgrid1.colwidth(2)=2300
flexgrid1.colwidth(3)=1600。