再放100分!寻表格例子!

vc_love 2003-09-29 11:09:59
---------------------------------|---------------------------------------|
| | | | |
| 放 | |--------------------|---------------------------------------|
| 图 | | | |
| 片 | |--------------------|---------------------------------------|
| | | | |
|--------------------------------|---------------------------------------|
| | | | |
| 放 | |--------------------|---------------------------------------|
| 图 | | | |
| 片 | |--------------------|---------------------------------------|
| | | | |
|--------------------------------|---------------------------------------|
| | | | |
| 放 | |--------------------|---------------------------------------|
| 图 | | | |
| 片 | |--------------------|---------------------------------------|
| | | | |
|--------------------------------|---------------------------------------|


有很多项,要求该表格可以上下翻动显示!

有人说vsflexgrid可以实现!

有没有例子?

EMAIL : mbxxx1@yahoo.com.cn

在线等候!
...全文
54 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
junwhj 2003-09-30
  • 打赏
  • 举报
回复
可以用FlexCell表格控件,有这方面的例程:

http://junwhj.myrice.com
hxy1982 2003-09-29
  • 打赏
  • 举报
回复
up~!
vc_love 2003-09-29
  • 打赏
  • 举报
回复
谢谢chewinggum(口香糖·向星星前进),你的代码很好!

可是有一些地方,我还是不太懂,能不能在关键的地方加一点注释!

再次谢谢你!
脆皮大雪糕 2003-09-29
  • 打赏
  • 举报
回复
呵呵,一边工作一边偷偷写你的代码。时间比较紧,有些地方投机取巧了。如果不满意的话我再优化,现在吃饭去了
脆皮大雪糕 2003-09-29
  • 打赏
  • 举报
回复
用vb自带的mshflexgrid控件做
temp.bmp是一个图片,路径可以自己设定
Option Explicit


Private Sub Form_Load()
With MSHFlexGrid1
.Rows = 13
.Cols = 5
.TextMatrix(0, 0) = "C1"
.TextMatrix(0, 1) = "C1"
.TextMatrix(0, 2) = "C2"
.TextMatrix(0, 3) = "C3"
.TextMatrix(0, 4) = "C4"

Dim i As Integer
Dim j As Integer

For i = 0 To 4
.Col = i
.Row = 0
.CellBackColor = &H8000000F
.CellAlignment = 4
Next
.SelectionMode = flexSelectionByRow

.FixedRows = 0
.MergeCells = flexMergeRestrictRows
.MergeRow(0) = True
.ColWidth(0) = 300
.HighLight = flexHighlightAlways
For j = 1 To 12
.TextMatrix(j, 1) = Space(3) & "test" & Str(j)
Next
.MergeCells = 2
.MergeCol(0) = True
For j = 1 To 12 Step 4
For i = 0 To 3
.Col = 0
.Row = i + j
.TextMatrix(i + j, 0) = Chr(127 + j)
.CellForeColor = .CellBackColor
Next
Next

For j = 1 To 12 Step 4
.Col = 0
.Row = j
Set .CellPicture = LoadPicture("c:\temp.bmp")
Next
End With
LastRow = 1
End Sub


linfuyong 2003-09-29
  • 打赏
  • 举报
回复
也写去
vc_love 2003-09-29
  • 打赏
  • 举报
回复
chewinggum(口香糖·向星星前进)
谢谢!
我一直搞VC,最近有项目用到VB,临时抱抱佛脚!要是OK的话,我另开贴再散分!
脆皮大雪糕 2003-09-29
  • 打赏
  • 举报
回复
怎么又是你,等,我写代码去
hemeijun81 2003-09-29
  • 打赏
  • 举报
回复
up
zjcxc 2003-09-29
  • 打赏
  • 举报
回复
推荐vsflexgrid
射天狼 2003-09-29
  • 打赏
  • 举报
回复
UP~~
脆皮大雪糕 2003-09-29
  • 打赏
  • 举报
回复
TextMatrix(row,col) = string 是给某个表格单元设文本内容

mergeCells = flexMergeRestrictRows
MergeRow(0) = True
这两行是说第一行相同内容的单元个可以互相合并

.MergeCells = 2
.MergeCol(0) = True
这两行是说第一列同内容的单元个可以互相合并,哎呀,看到这里才发现上面mergeCells = flexMergeRestrictRows应该改成.MergeCells = 2,这里的这行可以不要

For j = 1 To 12 Step 4
For i = 0 To 3
.Col = 0
.Row = i + j
.TextMatrix(i + j, 0) = Chr(127 + j)
.CellForeColor = .CellBackColor
Next
Next
这个循环体就是我所说的投机取巧的地方了。因为只有相同字符内容的单元格才能合并,而你要求的那几个放图片的格子如果没有文字就没法合并了。所以在那几个单元格里面加上ascii码大于127的字符,这样就不会在你的图片上出现文字。这里有个缺陷,就是Chr(127 + j)可能超出范围,有时间的画必须想办法解决掉,比如可以用多个大于127的字符组成相同字符串实现比较多的单元格合并等等。

其他循环添加单元字符的就不用我说了吧,不明白的话可以把MergeCells = 0 然后看看没合并时的表格数据就能明白了

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧