请问VB怎么实现MSHFlexGrid支持ctrl+c、ctrl+v
解决方案 »
- 图象24位下显示异常请高手帮我看下
- 为什么在VB中画出的控件(如按钮),比C++(如任务管理器)中的控件难看的多?
- xp下,qb程序编译后运行不能绘图,有什么办法解决?
- 求教:关于显示Windows打开方式对话框的问题?
- 导出EXCEL的时候提示"实时错误1004,对象'Range'的方法'_Golbal'失败"!?**************
- 用过evb访问数据库的朋友来看看!!!大家讨论一下!
- 请问为什么我发的帖子我在论坛一页一页的找都看不到?而在搜索里面才看的到?
- 怎么用mscomm开发远程通讯程序?
- 程序员水平考试什么时候报名?
- 如何在运行时修改数据报表(DataReport)中Label控件的名字?
- 关于MSHflexgrid分层问题
- 一包数据发送时出错,怎样重发这一包数据?
Dim tmptext As String
If Shift = 2 Then
Select Case KeyCode
Case vbKeyC
Clipboard.Clear
Clipboard.SetText MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, MSHFlexGrid1.Col)
Case vbKeyV
If Clipboard.GetFormat(vbCFText) Then
tmptext = Clipboard.GetText(vbCFText)
MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, MSHFlexGrid1.Col) = tmptext ' Clipboard.GetData()
End If
End Select
End If
End Sub
如果按ctrl+c时,把你grid中选定的行列进行复制这样好说的,
你可以描述当前选的内容,将他形成带分隔符的字符串,使用chr(9)表示列分隔符chr(13)chr(10)表示行分隔这样的格式,然后送入clipboard!
同理,你ctrl+v时,先从clipboard读出来然后按上面的格式分析读出的内容并写入grid中不就行了么?
Clipboard.Clear
Clipboard.SetText MSHFlexGrid1.Clip
Clipboard.Clear
Clipboard.SetText MSHFlexGrid1.Clip