С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/32: Рейтинг темы: голосов - 32, средняя оценка - 4.72
46 / 8 / 1
Регистрация: 20.08.2010
Сообщений: 53

Как открыть файл справки *.chm?

11.01.2013, 16:02. Показов 6499. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Можно ли каким либо способом сделать следующее:

имеется файл справки программы *. chm.
имеется форма с добавленной в строку меню заголовка кнопкой "?" - справка (около крестика закрытия формы).

как сделать так, чтобы при нажатии на значок справки "?" - открывался файл *.chm?

*.chm я открывать умею, проблема в том, что не знаю какое событие использовать для привязки кода открытия *.chm к "?"....как подойти к кнопке "?".. Тут наверняка субклассинг нужно использовать..

Заранее благодарен за помощь!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2013, 16:02
Ответы с готовыми решениями:

Файл справки *.CHM
Здравствуйте! Программирую в среде Borland C++ Builder 6 в Windows XP Home Edition SP2 простую программку. Желаю, чтобы при нажатии F1...

delphi и chm-файл справки
Извините если данная тема уже обсуждалась.Каким образом можно подключить chm-файл справки к моему проекту?Для этого надо создавать новую...

Чем и как открыть HTML-файл справки?
Скомпилированный HTML-файл справки. Введение в крэкинг с помощью OllyDbg.chm Открывается само в интернет эксплорер. Internet...

21
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 17:02
Через Shell что не устраивает?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
11.01.2013, 17:31
Цитата Сообщение от TYM Посмотреть сообщение
какое событие использовать
Тут всё на уровне проекта и специально написанной справке ( по правилам). Кнопка появится, если свойство WhatsThisButton = True, а оба свойства MaxButton и MinButton = False.
В Visual Basic 6.0 поддержка справки реализована на уровне проекта путем задания имени файла справки в диалоговом окне Свойства проекта. Для каждой формы и элемента управления предусмотрено свойство HelpContextID, которое используется для ссылки на определенный раздел файла справки.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 17:42
Visual Basic
1
 Shell "hh.exe " & App.Path & "\" & "1.chm", vbNormalFocus
И вся недолга
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 17:56
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
11.01.2013, 18:20
Цитата Сообщение от SoftIce Посмотреть сообщение
И вся недолга
Ну это способ на уровне Эникейщика.
А чтобы по взрослому?
То есть нажал F1 и пошла контекстная справка по тому контролу, который в фокусе. Или нажал кнопку ?, появился спец. курсор, подвел его к элементу формы и получил справку. Для того и делается при помощи HelpContextID.
Я думаю, что TYM именно взрослый способ интересовал - он же написал, что файл .chm запускать умеет.
0
46 / 8 / 1
Регистрация: 20.08.2010
Сообщений: 53
11.01.2013, 18:26  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Или нажал кнопку ?, появился спец. курсор, подвел его к элементу формы и получил справку.
)) Ребят, вот где собака зарыта, мне нужно, чтобы я нажал кнопку ?, но не появлялся спец курсор, а именно запустился сам файл *.chm.. Запускать то я умею и chm и hlp...
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 18:34
Цитата Сообщение от TYM Посмотреть сообщение
Ребят, вот где собака зарыта, мне нужно, чтобы я нажал кнопку ?, но не появлялся спец курсор, а именно запустился сам файл *.chm.. Запускать то я умею и chm и hlp...
Ну так что не устраивает?
0
46 / 8 / 1
Регистрация: 20.08.2010
Сообщений: 53
11.01.2013, 18:45  [ТС]
блин,не знаю как картинку вставить )) Ну вот на Вашем скриншоте, знак ?, не тот от которого стрелочка идёт, а тот который сверху, "синий"... Вот его требуется нажать и вызвать CHM.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
11.01.2013, 19:24
Цитата Сообщение от TYM Посмотреть сообщение
не тот от которого стрелочка идёт, а тот который сверху
Я же тебе про него весь вечер и толкую, объясняю, для чего он нужен.

Цитата Сообщение от TYM Посмотреть сообщение
но не появлялся спец курсор
Это делает система - эта кнопка для контекстной помощи.
То, что надо тебе, делай как сказал SoftIce, отдельную кнопку, пункт в меню с именем "Help", и другие полезные извращения типа
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Shell "HH.EXE " + App.Path + "help.chm", vbNormalFocus
'или 
Call Shell("hh " & App.Path & "\help.chm", 1)
'или через Windows-API
Declare Function WinHelp Lib "user32" Alias "WinHelpA" ( _
  ByVal hwnd As Long, _
  ByVal lpHelpFile As String, _
  ByVal wCommand As Long, _
  ByVal dwData As Long) As Long
' или через Common Dialog
cdlCommon.HelpFile = "Help.chm"
...
cdlCommon.HelpCommand = cdlHelpHelpOnHelp
cdlCommon.ShowHelp
1
46 / 8 / 1
Регистрация: 20.08.2010
Сообщений: 53
11.01.2013, 20:18  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Я же тебе про него весь вечер и толкую, объясняю, для чего он нужен.


Это делает система - эта кнопка для контекстной помощи.

[/VB]
Я знаю, что это делает система... Хорошо, давай объясню ТАК.... Мне НУЖНО, чтобы при нажатии на встроенную кнопку КОНТЕКСТНОЙ ПОМОЩИ, открывался файл CHM. Нажал на встроенную кнопку КОНТЕКСТНОЙ ПОМОЩИ, и сразу же выскочил файл CHM.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
11.01.2013, 22:02
Цитата Сообщение от TYM Посмотреть сообщение
Нажал на встроенную кнопку КОНТЕКСТНОЙ ПОМОЩИ, и сразу же выскочил файл CHM.
Ладно, скажу проще, на твоем языке:
ЭТО НЕВОЗМОЖНО!
1
46 / 8 / 1
Регистрация: 20.08.2010
Сообщений: 53
11.01.2013, 23:27  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Ладно, скажу проще, на твоем языке:
ЭТО НЕВОЗМОЖНО!
)) не всё так просто)) Не ничего невозможного..Пасиба за поддержку..)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.01.2013, 23:29
Лучший ответ Сообщение было отмечено как решение

Решение

ВОЗМОЖНО


И вся недолга
Вложения
Тип файла: rar Новая папка.rar (382.1 Кб, 88 просмотров)
4
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
12.01.2013, 07:38
Цитата Сообщение от SoftIce Посмотреть сообщение
ВОЗМОЖНО
Понятно, что через API можно сделать что угодно! ( главное знать как)
Говоря "невозможно" подразумевалось штатными средствами VB6.
При помощи API лучше свою кнопку там нарисовать, оставив функционал кнопкам "свернуть" и "развернуть".
0
46 / 8 / 1
Регистрация: 20.08.2010
Сообщений: 53
12.01.2013, 10:46  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Говоря "невозможно" подразумевалось штатными средствами VB6.
А про штатные средства никто и не говорил))

SoftIce - тебе отдельное спасибо.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
12.01.2013, 15:25
SoftIce, А вот какой порядок создания самой кнопки "?"
Каким то отдельным меню настраивается...
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
12.01.2013, 16:15
Цитата Сообщение от Dragokas Посмотреть сообщение
какой порядок создания самой кнопки "?"
Да ничего особенного.
Миниатюры
Как открыть файл справки *.chm?  
2
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
12.01.2013, 16:19
Кстати, и дополнительную кнопку можно присобачить
Вложения
Тип файла: zip traybutton.zip (7.1 Кб, 36 просмотров)
3
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
31.01.2024, 16:11
SoftIce, скачал этот проект в ZIP-архиве, запустил проект и сразу ругается на отсутствие ToolTip.bas. Зачем вообще выкладывать проекты, если они не работают и не всех файлов хватает?

Добавлено через 27 минут
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Shell "HH.EXE "
Я не знаю, кто даёт такие советы использовать Shell "hh.exe" ... Я считаю это неправильный подход, так как создаётся отдельный процесс. Лучше всего использовать WinAPI в частности я нашёл функцию которая позволяет запускать CHM-файлы это Function HtmlHelp

Более правильно будет вызывать справку именно таким образом и окно этой вызванной справки будет встроено в ваш процесс!

Visual Basic
1
2
3
4
5
Private Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As Long, ByVal pszfile As String, ByVal ucommand As Long, ByVal dwdata As Long) As Long
 
Private Sub Command1_Click()
    HtmlHelp hwnd, App.Path & "\1.chm", 0, 0
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2024, 16:11
Помогаю со студенческими работами здесь

Запуск файла справки *.chm, как?
Здравствуйте, подскажите, пожалуйста, как используя JavaScript можно сразу при открытии веб-страницы открыть справку *.chm. Заранее...

Не могу открыть chm файл из IE
Не могу открыть chm файл из IE (стриницы справки пустые - The address is not valid), если файл скачать, то все открывается. В чем причина и...

Открыть файл .chm из файла ресурсов .res
Создал файл справки Help.chm. Запихнул его в файл ресурса help.res. Подключил файл ресурса help.res к программе. Как теперь открыть...

Открыть файл справки из каталога приложения
Мне нужно, чтобы эта файл справки лежал вместе с проектом, а не на диске С:. Подскажите, пожалуйста, как этот путь прописать или отправьте...

Открыть файл справки в формате html по нажатию F1
Создала справку в Html help workshop, можно ли ее вызвать нажатием f1 в Delphi?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru