Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помощь... подскажите Добавлено: 16.03.10 14:12  

Автор вопроса:  VbStarter | Web-сайт: moscowdevils.ru | ICQ: 357911808 
подскажите как вызвать файл помощи прекреплённый к проекту vb6?

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 iprog



Вопросов: 26
Ответов: 110
 Web-сайт: usprogs.atheo-club.ru
 Профиль | | #1
Добавлено: 16.03.10 21:42
Разместите элемент CommonDialog на форме, откуда надо вызвать справку (если он у Вас уже размещён, используйте его). Для вызова файла справки в нужной процедуре напишите вот что:
  1. CommonDialog1.HelpFile = App.Path & "\Справка2.HLP" 'вместо Справка2.HLP напишите название файла справки
  2. CommonDialog1.HelpCommand = &H1
  3. CommonDialog1.HelpContext = 1
  4. CommonDialog1.ShowHelp


В General напишите вот такой код:
  1. Private Const HELP_COMMAND = &H102&
  2. Private Const HELP_CONTEXT = &H1
  3. Private Const HELP_CONTEXTPOPUP = &H8&
  4. Private Const HELP_FORCEFILE = &H9&
  5. Private Const HELP_HELPONHELP = &H4
  6. Private Const HELP_INDEX = &H3
  7. Private Const HELP_KEY = &H101
  8. Private Const HELP_MULTIKEY = &H201&
  9. Private Const HELP_PARTIALKEY = &H105&
  10. Private Const HELP_QUIT = &H2
  11. Private Const HELP_SETCONTENTS = &H5&
  12. Private Const HELP_SETINDEX = &H5
  13. Private Const HELP_SETWINPOS = &H203&


Если Вы вызываете файл справки из модуля, вместо Private напишите Public.
Если Вы прикрепили файл справки в окне свойств проекта, то лучше его открепить, то есть стереть путь к файлу справки. Я уже пробовал так делать, и у меня чуть не полетел компьютер :(

Ответить

Номер ответа: 2
Автор ответа:
 iprog



Вопросов: 26
Ответов: 110
 Web-сайт: usprogs.atheo-club.ru
 Профиль | | #2
Добавлено: 16.03.10 21:45
Да, в строке
  1. CommonDialog1.HelpContext = 1

после "=" напишите номер темы, какую надо отобразить (они нумеруются с нуля).

Ответить

Номер ответа: 3
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #3
Добавлено: 16.03.10 22:26
А МОЖНО ПОД chm

Ответить

Номер ответа: 4
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #4
Добавлено: 16.03.10 22:35
ошибка 129 - раздел не существует хоть с 0 хоть с 1,2,3,4,5,6 итд. как задать номер темы (я справку в Help&Manual 5.3.1 делал)
после "=" напишите номер темы, какую надо отобразить (они нумеруются с нуля).

Ответить

Номер ответа: 5
Автор ответа:
 iprog



Вопросов: 26
Ответов: 110
 Web-сайт: usprogs.atheo-club.ru
 Профиль | | #5
Добавлено: 17.03.10 20:46
Извините, я думал, Вы имеете ввиду обычный файл справки (*.HLP). Я не имел дело с скомпилированными файлами .HTML (то есть *.CHM).
Я думаю, можно использовать оператор SHELL. Он выглядит так:
  1. help = Shell ("D:\Программа.exe", vbNormalFocus) 'переменная = Shell ("путь к программе", тип фокуса)

Этот оператор открывает исполняемый файл. Однако его можно использовать и для открытия любого файла в определённой программе. Например:
  1. file = Shell("Notepad " + "D:\Файл.txt, vbNormalFocus) 'открываем обычный TXT файл в Блокноте.<br>

Но я не уверен, что это будет работать. А другого способа я не знаю :( . Самый последний выход - писать файл *.HLP и открывать так, как я уже написал :) . (сделать файл справки можно в Microsoft Help WorkShop.)

Ответить

Номер ответа: 6
Автор ответа:
 Alex111



Вопросов: 1
Ответов: 13
 Профиль | | #6 Добавлено: 19.03.10 01:19
  1. Private Declare Function GetKeyboardLayout Lib "user32.dll" (ByVal dwLayout As Long) As Long
  2.  
  3.  
  4.  
  5.     Dim appPath As String
  6.     appPath = App.Path
  7.     If Right$(appPath, 1) <> "\" Then appPath = appPath & "\"
  8.     ShellExecute Me.hwnd, "Open", appPath + "help.chm", "", appPath, SW_SHOWNORMAL

Ответить

Номер ответа: 7
Автор ответа:
 Alex111



Вопросов: 1
Ответов: 13
 Профиль | | #7 Добавлено: 19.03.10 01:22
извиняюсь не тот код
вот правильный
  1. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
  2.      ByVal hwnd As Long, _
  3.      ByVal lpOperation As String, _
  4.      ByVal lpFile As String, _
  5.      ByVal lpParameters As String, _
  6.      ByVal lpDirectory As String, _
  7.      ByVal nShowCmd As Long) As Long
  8.  
  9.  
  10.     Dim appPath As String
  11.     appPath = App.Path
  12.     If Right$(appPath, 1) <> "\" Then appPath = appPath & "\"
  13.     ShellExecute Me.hwnd, "Open", appPath + "help.chm", "", appPath, SW_SHOWNORMAL

Ответить

Номер ответа: 8
Автор ответа:
 Alex111



Вопросов: 1
Ответов: 13
 Профиль | | #8 Добавлено: 19.03.10 01:23
Где help.chm там имя твоего файла.

Ответить

Номер ответа: 9
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #9
Добавлено: 19.03.10 13:12
спасибо всем

Ответить

Номер ответа: 10
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #10
Добавлено: 19.03.10 13:17
кстати и с hlp тоже была ошибка 129.

Ответить

Номер ответа: 11
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #11
Добавлено: 19.03.10 18:44
ошибка - Variable not defined (SW_SHOWNORMAL)

Ответить

Номер ответа: 12
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #12
Добавлено: 24.03.10 20:22
кстати а переменную как объявлять? (в шелл-команде)

Ответить

Номер ответа: 13
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #13
Добавлено: 24.03.10 21:14
  1. Private Const SW_SHOWNORMAL As Long = 1

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам