本人用VB写程序,一段时间来未能解决三个问题

chcky 2004-08-23 10:11:23
1。在VB程序中,如果有某处出错(如cint(s),当s不是数字型的时候,就会出现类型不匹配的错误,致使整个系统崩溃),有没办法写一个事件,整个系统中一旦有错误出现就自动执行到那个事件?要是每个过程都写错误处理,实在是是一种负担。PB就有个system_err事件能解决此问题。

2。怎样使Msflexgrid控件支持鼠标滚轮?怎么使Msflexgrid,datagrid实现打印预览?

3。去掉窗体的最小化、最大化、关闭按钮,注意是去掉,而不是使其不可用,除了将bordersytle设为0和ContolBox设为false方法。
...全文
780 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdutqhl 2005-02-04
  • 打赏
  • 举报
回复
VB没有全局错误处理吧
normandj 2005-02-04
  • 打赏
  • 举报
回复
1. 在VB只能用on error 语句来处理,有不少的工具有可以自动加入,减轻工作量。
2. 下载控件 http://www.bjjr.com.cn/yefan/sourcecode/mmouse.rar
然后使用 TopRow 属性来控制
以下我是部分代码:
  
'*************************************************************************
'**函 数 名:MSHFGSupportMouse
'**输 入:ByVal ScrollRow(Integer) - 一次滚动行数
'** :Way(Boolean) - True 向下滚动  False 向下滚动
'** :Shift(Integer) -
'** :X(Single) -
'** :Y(Single) -
'**输 出:无
'**功能描述:Mshflexgrid控件滚动函数 - 作用:支持鼠标滚轮
'**全局变量:
'**调用模块:
'**作 者:邓捷
'**日 期:2005-01-08
'**修改日期:
'**版 本:V1.0.80
'**修改版本:
'*************************************************************************
Public Sub MSHFGSupportMouse(ByVal ObjectGrid As MSHFlexGrid, ByVal ScrollRow As Integer, Way As Boolean, Shift As Integer, X As Single, Y As Single)
On Error GoTo ErrorHandler '打开错误陷阱
'------------------------------------------------
Dim intFixedRows As Integer
intFixedRows = ObjectGrid.FixedRows
'检查一次滚动行数(不得不于1)
If ScrollRow < 1 Then
ScrollRow = 1
End If
'按指定行数进行滚动
If Way Then
If ObjectGrid.Rows - ObjectGrid.TopRow > ScrollRow Then
ObjectGrid.TopRow = ObjectGrid.TopRow + ScrollRow
Else
ObjectGrid.TopRow = ObjectGrid.Rows - 1
End If
Else
If ObjectGrid.TopRow <= ScrollRow - 1 + intFixedRows Then
ObjectGrid.TopRow = intFixedRows
Else
ObjectGrid.TopRow = ObjectGrid.TopRow - ScrollRow
End If
End If
'------------------------------------------------

Exit Sub

'----------------
ErrorHandler:
MsgBox "错误代码:" & Err.Number & vbCrLf & "错误信息:" & Err.Description & vbCrLf & "错误位置:" & "MsHFlexGridExtend.MSHFGSupportMouse", 16, "错误"
End Sub
 
3. controlbox 属性设为False
chcky 2005-02-03
  • 打赏
  • 举报
回复
此三个问题问过好多地方了,至今还没得到满意的解。
goodboyrwy 2004-12-17
  • 打赏
  • 举报
回复
hongsongboy(红松) 大哥给我法一份吧,小弟正急用打印方面的东东,goodboyrwy@163.com
chcky 2004-12-17
  • 打赏
  • 举报
回复
继续求解.
chcky 2004-11-22
  • 打赏
  • 举报
回复
底楼的糖果店,具体怎么实现呢?能否详细一点?
GX198302 2004-11-08
  • 打赏
  • 举报
回复
第一个问题其实有个很好地解决方案
就是自己给VB写个编译器,将源代码编译到中间代码,给每一个function都作错误处理

这样你就不需要给每一个过程都调用了
PB就是这么做的
GX198302 2004-11-08
  • 打赏
  • 举报
回复
似乎搂住不应该用VB来开发东西的,
你总不能让孔雀去飞翔的啊
换个工具吧还是
放不下VB就用VB.net 包您满意
熊孩子开学喽 2004-11-07
  • 打赏
  • 举报
回复
问题1 :在可能出错的过程和函数开头加上错误跳转语句:on error goto Errline,或当错误是可以忽略时就用on error resume next来使程序运行下一句。

问题2 :我一直都是使用第三方的鼠标增强驱动来使VB支持鼠标滚轮的。比如可以到网上下载一个罗技的鼠标驱动,装在系统中就可以使VB支持鼠标滚轮了。至于打印预览,要么就自己按照打印位置在PICTURE上画一个,要么就将GRID中的数据导出到EXCEL中,利用EXCEL的打印预览。

问题3 :不知道楼主想怎么样,VB自己提供的办法难道还不能解决问题吗?只要将ContolBox设为false就可以了,如果将bordersytle设为0则分两中情况:如果窗体的CAPTION为空则窗体无边框,如果CAPTION不为空则显示标题栏,同时不显示最大化最小化和关闭按钮。难道楼主觉得非要用一堆API来才觉得爽?
chcky 2004-11-07
  • 打赏
  • 举报
回复
继续求解
GGL123 2004-10-19
  • 打赏
  • 举报
回复
up 学习
熊孩子开学喽 2004-10-19
  • 打赏
  • 举报
回复
一:在过程或函数的开头写上ON ERROR GOTO ERRLINE 'ERRLINE为一个跳转标签可以用你自己的名字
然后在过程或函数的结束处用EXIT SUB或EXIT FUNCTION来退出过程或函数。在这句之后加上错误处理。以ERRLINE: 开始
二:可以通过使用第三方的鼠标增强驱动来实现,我曾经用过一个HP的鼠标驱动就完全可以使VB支持滚轮。
三:VB本来就是一种简洁的语言,让开发者将精力能更集中于要处理的问题本身,我觉得楼主不使用VB自己带的功能,而偏偏要用什么API来作同样的事,这不是舍简取烦吗?只要将ContolBox设为false就可以了。如果楼主真的喜欢使用API的话可以试试看不用VB的窗体,自己全部用API来画一个窗体。
舍南舍北 2004-10-19
  • 打赏
  • 举报
回复
第三項:
在from屬性裡設置
ControlBox = False
MaxButton = False
MinButton = False
a达哥a 2004-10-18
  • 打赏
  • 举报
回复
Up 一下
chcky 2004-10-18
  • 打赏
  • 举报
回复
看来希望要破灭了,没人能解决,遗憾啊。。。
chcky 2004-10-16
  • 打赏
  • 举报
回复
hongsongboy(红松)兄,来了吗
chcky 2004-10-13
  • 打赏
  • 举报
回复
非常感谢hongsongboy(红松)
我的email是chcky@126.com
重新声明一下第一个问题,照你的方法的话还是必须在每个过程调用模块里定义的函数,我是不想调用而是程序一旦出错自动调用。像PB的syserror函数(应该叫函数,忘了)。
hongsongboy 2004-10-13
  • 打赏
  • 举报
回复
to: hongbo163(努力提高VB技术)
已经发送,请查收。
hongbo163 2004-10-12
  • 打赏
  • 举报
回复
To hongsongboy(红松)

那个控件可否给我一份

hongbo163@tom.com

//thx
mingtian2008 2004-10-12
  • 打赏
  • 举报
回复
up
加载更多回复(18)

7,759

社区成员

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

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