看来没人回了,我想了个变通的法子也算过得去,大家看看,只不过要改值后弹出Public Property Get Help() As Boolean ''''' End PropertyPublic Property Let Help(ByVal b As Boolean) '打开帮助 OpenHelp End Property Public Sub OpenHelp() Dim TempFile() As Byte Dim nFile As Integer Dim fName As String Dim ret As Long Dim buffer As String * 255
还是给现有控件加事件?说清别人才能帮你.
'''''
End PropertyPublic Property Let Help(ByVal b As Boolean)
'打开帮助
OpenHelp
End Property
Public Sub OpenHelp()
Dim TempFile() As Byte
Dim nFile As Integer
Dim fName As String
Dim ret As Long
Dim buffer As String * 255
ret = GetTempPath(255, buffer)
fName = Left(buffer, ret)
ret = GetTempFileName(fName, "fy_", 0, buffer)
fName = Left(buffer, InStr(buffer, Chr(0)) - 1)
TempFile = LoadResData(103, "TEXT")
nFile = FreeFile
Open fName For Binary Access Write As #nFile
Put #nFile, , TempFile
Close #nFile
'ShellExecute 0&, vbNullString, fName, vbNullString, vbNullString, 1
Shell "notepad.exe " & fName, vbNormalFocus
Kill fName
End Sub
如:ShellExecute 0&, vbNullString, App.Path & "\help.chm", vbNullString, vbNullString, 5
干吗要搞个属性页,还要把帮助写到里面去,这样代码又多,还多个拖油瓶属性页文件这也不理解?
楼主的题目是"怎样在控件里添加自定义属性,就像属性面或Picture属性一样 "
如题(点击属性时能执行我写的代码)
属性标题为:帮助
只是我要弹出的不是一个窗体或打开对话框,而是一个帮助文本文档(以记事本的方式打开)或chm文档
请问在程序设计时你每个控件都要实现此类要求,那得自己创建 ActiveX 部件来替代你所有用的VB提供的控件,实际你是要创造个全新的VB集成编程平台,祝你早日成功,咱也能使用
你这样做,还不如添加1个按钮或菜单选项,由它来执行弹出外在的帮助文档资料或chm文档而简单.