Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 584

•  TDictionary Custom Sort  6 599

•  Fast Watermark Sources  6 369

•  3D Designer  9 319

•  Sik Screen Capture  6 703

•  Patch Maker  7 084

•  Айболит (remote control)  7 088

•  ListBox Drag & Drop  5 956

•  Доска для игры Реверси  97 498

•  Графические эффекты  7 291

•  Рисование по маске  6 584

•  Перетаскивание изображений  5 457

•  Canvas Drawing  5 826

•  Рисование Луны  5 537

•  Поворот изображения  5 058

•  Рисование стержней  3 623

•  Paint on Shape  2 864

•  Генератор кроссвордов  3 750

•  Головоломка Paletto  3 020

•  Теорема Монжа об окружностях  3 828

•  Пазл Numbrix  2 519

•  Заборы и коммивояжеры  3 219

•  Игра HIP  2 186

•  Игра Go (Го)  2 117

•  Симулятор лифта  2 500

•  Программа укладки плитки  2 149

•  Генератор лабиринта  2 633

•  Проверка числового ввода  2 303

•  HEX View  2 635

•  Физический маятник  2 255

 
скрыть

Вариант использования HTML Help в Делфи



Автор: wl

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Вариант использования HTML-Help в делфи

Зависимости: HHCtrl.ocx
Автор:       wl, wl@ezmail.ru, Киров
Copyright:   MSDN
Дата:        8 июля 2003 г.
***************************************************** }

// 1) После Uses... добавляешь:
const
  HH_DISPLAY_TOPIC = $0000;
  HH_HELP_FINDER = $0000; // WinHelp equivalent
  HH_GET_WIN_HANDLE = $0006;
  HH_DISPLAY_TEXT_POPUP = $000E;
    // display string resource id or text in a popup window
  HH_HELP_CONTEXT = $000F; // display mapped numeric value in dwData
  HH_HELP_CONTEXTMENU = $0010; // text popup help

// 2) Перед секцией Implementation добавляешь:

function HtmlHelp(
  hwndCaller: HWND;
  pszFile: string;
  uCommand: Integer;
  dwData: integer): HWND; stdcall; external 'hhctrl.ocx' name 'HtmlHelpA';

// 3) В разделе Private у класса формы добавляешь:

procedure WMHelp(var aMessage: TWMHelp); message WM_HELP;

// 4) В разделе implementation пишешь:

// Если смотрим помощь по пунктам меню
function GetMenuHelpContext(Menu: TMenu; aMessage: TWMHelp): Integer;
begin
  Result := 0;
  if (Menu <> nil) then
  begin
    Result := Menu.GetHelpContext(aMessage.HelpInfo.iCtrlId, true);
    if (Result = 0) then
      Result := Menu.GetHelpContext(aMessage.HelpInfo.hItemHandle, false);
  end;
end;

procedure TForm1.WMHelp(var aMessage: TWMHelp); // Предполагается, что класс
// формы называется TForm1
var
  Control: TWinControl;
  ContextId: integer;
  hlp: HWND;
begin
  if (aMessage.HelpInfo.iContextType = HELPINFO_WINDOW) then
  begin
    Control := FindControl(aMessage.HelpInfo.hItemHandle);
      // Ищем активный компонент
    while ((Control <> nil) and (Control.HelpContext = 0)) do
      Control := Control.Parent;
    if (Control = nil) then
      Exit;
    ContextId := Control.HelpContext; // Смотрим у него HelpContext
  end
  else
  begin
    ContextId := GetMenuHelpContext(Menu, aMessage); // Для меню
    if (ContextId = 0) then
      ContextId := GetMenuHelpContext(PopupMenu, aMessage);
  end;
  hlp := HtmlHelp(Handle, 'c:\WINDOWS\Help\joy.chm', HH_HELP_CONTEXT,
    ContextId);
  if (hlp = 0) then
    ShowMessage('Помощь не найдена!');
end;

// 5) вместо 'c:\WINDOWS\Help\joy.chm' - подставляешь свой CHM - файл.

Пример использования:
F1 в запущенной программе





Похожие по теме исходники

Пример использования DBGrid

Image to HTML

HTML Parser (парсер)

Delphi to HTML Converter

 

Image2Html

Txt to HTML

Конвертер Word - HTML

Mini HTML Editor

 

MSHTML Editor

HTML Test Creator