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 '删除第三行。
- 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。