vb控件picture 问题!!

来源:百度知道 编辑:UC知道 时间:2024/06/22 09:30:40
插入控件picture,在上面执行print事件,太多的话后来执行的就不显示了只能看到一开始打印出的,能不能加上一个垂直的滚动条??或者别的解决方法??
插入控件picture,在上面执行print事件,太多的话后来执行的就不显示了只能看到一开始打印出的,能不能加上一个垂直的滚动条??或者别的解决方法?? 详细步骤

加个滚动条,滚动条是改变窗体风格加的,你可以把用于打印的picture放入另一个picture里,可以通过改变这个父控件picture风格添加滚动条,这样独立性更好一些,比如可以随意调整父控件picture的相对位置及尺寸信息。另外,打印之前必须开辟足够的高度,否则将无法显示打印内容。至于如何设定picture高度,那是你自己的事(建议API获得字符字高行间距等信息),以下是滚动条代码,你参考下吧:
'新建窗体,添加picture1

'以下保存在模块中:

Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wparam As Long, ByVal lparam As Long) As Long
Public Const GWL_STYLE = (-16)
Public Const WS_VSCROLL = &H200000
Public Const GWL_WNDPROC = (-4)
Public Const SB_VERT = 1
Public Const WM_VSCROLL = &H115
Public Const WM_MOUSEWHEEL = &H20A
Public Const WM_SIZE = &H5
Public Const SB_LINEDOWN = 1
Public Const SB_LINELEFT = 0
Public Const SB_PAGEDOWN = 3
Public Const SB_PAGEUP = 2
Public Const SB_THUMBTRACK = 5
Public winold As Long, winnew As Long, stlold As Long, stlnew As Long, ymax As Double, y