Значок компонента Hhopen будет добавлен на вкладку ActiveX (рис. 14.40). В процессе компиляции будет создан файл представления компонента — модуль HHOPENLib_TLIB.pas, который содержит описание методов, свойств и событий компонента.
Рис. 14.36. Установка компонента hhopen

Рис. 14.37. Выбор пакета дпо установки компонента

Рис. 14.38. Процесс компиляции пакета

Рис. 14.39. Процесс установки компонента Hhopen завершен

Рис. 14.40. Значок компонента Hhopen

Модуль представления можно увидеть, загрузив его в редактор кода из каталога \Delphi 7\Lib. Пролистав в окне редактора кода модуль HHOPENLib_TLIB.pas, который представляет собой интерфейс для доступа к элементу управления, можно найти описание класса THhopen (листинг 14.1).
Листинг 14.1. Описание класса THhopen
01.THhopen = class(TOleControl)02.private03.FIntf: _DHhopen;04.function. GetControlInterface: _DHhopen;05.protected06.procedure CreateControl;07.procedure TnitControlData; override;08.public09.function OpenHelp(const HelpFile: WideString;10.const HelpSection: WideString): Integer;11.procedure CloseHelp;12.property ControlInterface: _DHhopen read GetControlInterface;13.property Defaultlnterface: _DHhopen read GetControlInterface;14.published15.property isHelpCpened: WordBool index 116.read GetWordBoolProp17.write SetWordBoolProp stored False;18.end;
Класс THhopen предоставляет два метода: OpenHelp и cioseHeip. Метод OpenHelp обеспечивает вывод справочной информации, метод CloseHelp — закрывает окно справочной системы.
У метода openHelp два параметра — имя файла справочной информации и имя раздела, содержимое которого будет выведено. В качестве имени раздела надо использовать имя HTML-файла, который применялся программой HTML Help Workshop в процессе создания СНМ-файлз. Следует обратить внимание на то, что оба параметра должны быть строками widechar.
Следующая программа, ее диалоговое окно приведено на рис. 14.41, а текст — в листинге 14.2, демонстрирует использование ActiveX-компонента Hhopen для вывода справочной информации. Компонент Hhopen добавляется в форму обычным образом. Так как во время работы программы он не отображается, то его можно поместить в любое место формы.
Рис. 14.41. Окно программы Использование ActiveX

Листинг 14.2. Использование компонента Hhopen
01.unit ushh ;02.interface03.uses04.Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,05.Dialogs, OleCtrls, HHOPENLibJTLB, StdCtrls;06.type07.TForml = class(TForm)08.Labell: TLabel;09. 10.Editl: TEdit; // файл справки11.Edit2: TEdit; // раздел справки (имя HTML-файла)12.Buttonl: TButton; // кнопка Справка13.Hhoperil: THhopen; // ActiveX-компонент Hhopen14.Label2: TLabel;15.Label3: TLabel;16.procedure ButtonlClick(Sender: TObject! ;17.private18.I Private declarations )19.public20.{ Public declarations )21.end;22.var23.Formlr TForral;24.implementation25.($R ".DEW)26.// щелчок на кнопке Справка27.procedure TForml.ButtonlClickfSender: TObject);28.var29.HelpFile : string; // файл справки30.HelpTopic : string; // раздел справки31.pwHelpFile : PWideChar; // файл справки (указатель на строку HideChar)32.pwHelpTopic : PWideChar; // раздел ('указатель на строку WideChar)33.begin34.HelpFile := Editl.Text;35.HelpTopic := Edit2.Text;36.// выделить память для строк WideChar37.GetMern(pwHelpFile, Length(HelpFile] * 2);38.GetMemfpwHelpTopic, Length (HelpTopic) *2) ,-39.// преобразовать Ansi-стрску в NideString-строку40. 41.pwHelpFile := StringToWideChar (HelpFile,pwHelpFile,MAX_PATH*2];42.pwHelpTopic := StringToWideChar(HelpTopic,pwHelpTopic,32];43.// вывести справочную информацию44.Fornu.Hhopenl,OperiHelp(pwHelpFile,pwHelpTopic);45.end;46.end.
Вывод справочной информации выполняет процедура обработки события OnClic на кнопке Справка. Так как параметры метода openHelp должны быть строками widechar, то сначала выполняется преобразование ANSI-строки В строку wideChar.
