VB程序员博客
02 8th, 2010
rt
程序跟着快捷方式图标跑,这个比较麻烦。
首先,图标在哪都不确定。
先在桌面上找到快捷方式的坐标,
计算该快捷方式下面的高度够不够显示整个窗口:
够,在该位置显示窗口;
不够,在屏幕中心显示窗口。
不过费上面那事儿,还不如显示窗口时,如能恢复到上次关闭前保存的位置就恢复该位置,不能恢复的话就在屏幕中心显示。也就是说,“恢复以前位置”比“显示在指定桌面快捷方式下面的位置”更好、更实用。
<
<
02 5th, 2010
Public Sub UpData() '在线升级
On Error Resume Next
Dim MyData() As Byte, VerInfo() As Byte, Ti As Long, Tj As Long
If Inet1.StillExecuting = True Then Exit Sub
VerInfo() = Inet1.OpenURL("http://www.xxx.com/uploadsoft/update.txt", icString)
Ti = InStr(1, VerInfo, vbCrLf) + 2
Tj = InStr(Ti, VerInfo, vbCrLf)
'检测版本号
If Val(Left$(VerInfo, Ti - 3)) <= Val(App.Major & "." & App.Minor & App.Revision) Then Exit Sub
If MsgBox("SWpsF 发布了新的版本:" + Left$(VerInfo, Ti - 3) + ",文件大小:" + Mid$(VerInfo, Tj + 2) + ",是否进行在线升级 ?", vbYesNo + vbQuestion, "在线升级") = vbNo Then Exit Sub
IsUp = True
'开始下载更新文件
MyData() = Inet1.OpenURL("http://www.xxx.com/uploadsoft/" + Mid$(VerInfo, Ti, Tj - Ti), icByteArray)
Open App.Path + "" + Mid$(VerInfo, Ti, Tj - Ti) For Binary Access Write As #1
Put #1, , MyData()
Close #1
IsUp = False
'执行更新文件
ShellExecute 0, vbNullString, App.Path + "" + Mid$(VerInfo, Ti, Tj - Ti), vbNullString, App.Path, SW_SHOWNORMAL
End
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
在执行了put #1,,mydata() 以后,写出的文件是一个4K大小的文件,文件名是一样的,不是我想要下来的文件,请高手帮看下有什么问题,还有啊,后面这个SHELLEXECUTE可以在本程序执行的时候强制关闭掉本身而运行那个程序吗?
————天.没高手了/
留下你的邮箱,确认你已给分后,再发给你!!
…我一定给你分啊…lyxrkj@163.com发给我好了.
好吧.
给你了
分给你啦/赶紧的发来
02 3rd, 2010
有时候自己编的VB程序拿到别人机子上就无法运行。。。。。 上次我们设计了个东西,我用VB编的上位机软件。 自己电脑调试的好好的。 我也把相关插件也带上了,什么MSWINSCK什么MSCOMM一类的。 结果 一上讲台就没法运行了。。我靠。然后我又听说要弄个什么 VB运行库的东西。
我就想问问高手们, 到底要打包哪些东西,才能保证到别人机子上百分百运行?! 一定要肯定回答我哦,谢谢。。。。
难道编个小程序 都一定要拖妻带子,亲戚朋友一大帮吗?
Vb就是要好多相关文件才能运行的,选个好的打包工具,一般通过导入VB工程文件,程序关联的基本的库文件一般都齐全了
1.要选个好的打包工具,确保你使用的空间都打包进去了。
2.有的时候你自己的操作系统和客户的操作系统不一样这也会引起系统运行时出现bug。
比如说现在很多用户的系统是win7,所以你需要保持你的控件库和对方机子的系统是
兼容的。
………分给错了。。。不好意思,点错了,想给SIMON_SUN的,怎么点错了。。对不起了,郁闷
01 26th, 2010
我的mfc程序需要一个小模块实现控制笔记本电脑第二个显示器的开关。
即是:屏幕属性-〉设置->“将Windows桌面扩展到该显示器”选项 一模一样的功能.
不知用vb6.0怎样实现?
非常感谢!
sunrd
不晓得哦 帮顶
用C#是这样实现,但怎样转换用VB表示!
this.DesktopLocation=Screen.AllScreens[1].Bounds.Location;
<
关注一下
没有人知道吗?
楼上的回答说明. 学vb最后还是要学一点vc.
VB不太适合搞这种操作。
友情顶贴…………
帮楼主顶上去!
01 25th, 2010
在进行VB程序设计中,如果使用到外部dll动态库文件,是不是都要进行注册? 我对VB不懂,特向大家请教,谢谢!
不一定,看dll的用途!
第三方的组件是需要注册的
你自己制做的DLL 在客户端肯定是要注册的
说下你是怎么使用的。
将你用到的dll都放到你执行文件同一个目录下,可能不需要注册。
<
01 25th, 2010
在进行VB程序设计中,如果使用到外部dll动态库文件,是不是都要进行注册? 我对VB不懂,特向大家请教,谢谢!
不一定,看dll的用途!
第三方的组件是需要注册的
你自己制做的DLL 在客户端肯定是要注册的
说下你是怎么使用的。
将你用到的dll都放到你执行文件同一个目录下,可能不需要注册。
<
Dim nodx As Node
Private SourceNode As Object
Private Sub Form_Load()
dim i as integer
Set nodx = TreeView1.Nodes.Add(, , "转速", "转速模块", 2)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child01", "单通道转速", 1)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child02", "双通道转速/零转速", 1)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child03", "单通道零转速", 1)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child04", "双通道转速", 1)
Set nodx = TreeView1.Nodes.Add(, , "轴向位移", "轴向位移模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "胀差", "胀差模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "热膨胀", "热膨胀模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "油动机行程", "油动机行程模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "油箱油位", "油箱油位模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "轴振", "轴振模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "瓦振", "瓦振模块", 1)
Set nodx = TreeView1.Nodes.Add(, , "偏心/键相", "偏心/键相模块", 1)
'建立名称为"位移模块"的父节点,选择索引为1的图像
Set nodx = TreeView1.Nodes.Add(, , "位移模块", "位移监视模块", 2)
Set nodx = TreeView1.Nodes.Add("位移模块", tvwChild, "p_child01", "轴向位移/胀差", 1)
Set nodx = TreeView1.Nodes.Add("位移模块", tvwChild, "p_child02", "胀差/热膨胀", 1)
Set nodx = TreeView1.Nodes.Add("位移模块", tvwChild, "p_child03", "热膨胀/油动机行程", 1)
Set nodx = TreeView1.Nodes.Add("位移模块", tvwChild, "p_child04", "轴向位移/热膨胀", 1)
Set nodx = TreeView1.Nodes.Add("位移模块", tvwChild, "p_child05", "胀差/油动机行程", 1)
Set nodx = TreeView1.Nodes.Add("位移模块", tvwChild, "p_child06", "轴向位移/油动机行程", 1)
For i = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(i).Expanded = True
Next i
'====================================================================================================='开始拖放
Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Set SourceNode = TreeView1.HitTest(X, Y) '获取结点
If SourceNode Is Nothing Then Exit Sub '如果结点为空
TreeView1.SelectedItem = SourceNode
SourceNode.Selected = True
Picture_Focus = TreeView_NodeType(SourceNode) '根据结点号获取图片索引
TreeView1.OLEDrag
End Sub
'===================================================================================================
'设置图片
'===================================================================================================
Private Sub treeview1_OLEStartDrag(Data As MSComctlLib.DataObject, AllowedEffects As Long)
If Not Me.TreeView1.SelectedItem Is Nothing Then
Data.Clear
Data.SetData frmLib.Picture1(Picture_Focus).Picture, 2
End If
End Sub
因为是通过选定来激活对象的
我已经在TreeView1_MouseDown事件中选定了呀!
是否我在初始化时未选定结点呢?
以下是选定结点
Set SourceNode = TreeView1.HitTest(X, Y) '获取结点
If SourceNode Is Nothing Then Exit Sub '如果结点为空
TreeView1.SelectedItem = SourceNode
SourceNode.Selected = True
那么,我在初始化时如何用代码选定父结点“转速”呢
Set nodx = TreeView1.Nodes.Add(, , "转速", "转速模块", 2) —–> *************选定它***********
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child01", "单通道转速", 1)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child02", "双通道转速/零转速", 1)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child03", "单通道零转速", 1)
Set nodx = TreeView1.Nodes.Add("转速", tvwChild, "child04", "双通道转速", 1)

有点难度哦
都是很好的建议! 值得学习
01 17th, 2010
我想实现在VBA程序中调用CHM帮助文档中的某部分。就是实现实时查询帮助文档的功能。可不知道应该怎么做,请各位大侠,指条路,谢谢了。
我不是已经教你了吗,结贴,把分给我
方法共享一下??
这叫什么玩意儿啊。
App.Help 知道这个吗?
01 17th, 2010
我想实现在VBA程序中调用CHM帮助文档中的某部分。就是实现实时查询帮助文档的功能。可不知道应该怎么做,请各位大侠,指条路,谢谢了。
我不是已经教你了吗,结贴,把分给我
方法共享一下??
这叫什么玩意儿啊。
App.Help 知道这个吗?
01 15th, 2010
请教各位高手,如何使用图片按钮使程序更美观,当鼠标聚焦图片按钮时显示浮起是彩色状态,失去焦点时显示正常灰色状态,请给点思路?最好能够详细点
搜索 网上有好的图片按钮控件
能否不用第三方控件实现,http://hi.csdn.net/attachment/200912/15/3184710_126085443629Zu.jpg.thumb.jpg
你那个本来就是用第三方控件实现的。
不用第三方控件,那你在 Form_MouseMove() 事件中自己画吧。
用Form_MouseMove()来表示图片失去鼠标,用picture_MouseMove()来表示图片得到鼠标,very easy!
参考此帖:http://topic.csdn.net/u/20091209/22/7e601de4-c531-46a7-94db-56e251f918ba.html?seed=2085671228&r=61925683#r_61925683
'1 添加picturebox控件 picture1,添加label空间 lblCommn,叠放在一起,
'2 做两个图片名字 S3.jpg和S3V.jpg
'3 代码
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
picture1.Picture = LoadPicture(App.Path & "S3.jpg")
picture1.Left = lblCommn.Left
picture1.Top = lblCommn.Top
End Sub
Private Sub picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
picture1.Picture = LoadPicture(App.Path & "S3V.jpg")
picture1.Left = lblCommn.Left - 30
picture1.Top = lblCommn.Top - 30
End Sub
如需要阅读该回复,请