Форум: "Основная";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
ВнизВозможен ли запуск *.CHM с параметром главы? Найти похожие ветки
← →
botaniQ (2007-10-11 10:32) [0]Доброго всем тем, кто 12 и 13 сентября справляет профессиональный праздник!
Возникла такая проблемка:
Написал программу + написал к ней хелп в формате *.hlp...Но как оказалось, МикроМягкие не умудрились в стандартный пакет Висты запихнуть поддержку этих самых *.hlp....Так вот программу мне надо сдулать с поддержкой той самой висты и чтобы справка работала естеССно.
Подвернулся вариант сделать CHM-справку...но, по ходу дела, В делфи нельзя назначить так называемый Application.HelpFile=exDir+"help.chm";
Хочу сделать через ShellExecute....но ладно бы если мне просто надо было бы запустить help.chm...Мне надо его в некоторых случаях запускать с определенной главы...
Я подумал - Если тот же MsPaint запустить с параметром "- c:\1.bmp" то он его естеССно загрузит.....Так вот... Можно ли запустить *.chm файл с параметром, указывающим так называемый TopicID ??? Типа "help.chm - TopID:Main"...
← →
DVM © (2007-10-11 10:36) [1]http://www.soft32.ru/delphi.shtml?topic=files&title=chm_use
← →
botaniQ (2007-10-11 10:52) [2]
> DVM © (11.10.07 10:36) [1]
> http://www.soft32.ru/delphi.shtml?topic=files&title=chm_use
А есть ли вариант попроще?....Этот я уже обдумывал :)
← →
DVM © (2007-10-11 11:09) [3]
> А есть ли вариант попроще?....
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
// Описание функции "HH"
function HH(Command: Word; Data: Integer; var CallHelp: Boolean): Boolean;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
//========= HTML Help API ===========
const
HH_DISPLAY_TOPIC = $0000;
HH_DISPLAY_TOC = $0001;
HH_CLOSE_ALL = $0012;
function HtmlHelp(hwndCaller: HWND;
pszFile: PChar; uCommand: UINT;
dwData: DWORD): HWND; stdcall;
external "HHCTRL.OCX" name "HtmlHelpA";
//=================================
{$R *.DFM}
// Функция "HH"
function TForm1.HH(Command: Word; Data: Integer; var CallHelp: Boolean):
Boolean;
begin
if (Command = 0) and (Data = 0)
then HtmlHelp(Application.Handle,
PChar(Application.HelpFile),
HH_DISPLAY_TOC, 0);
CallHelp := False;
end;
// При создании формы замена реакции приложения на вызов справки
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnHelp := HH;
end;
// Вызов CHM Help
procedure TForm1.Button1Click(Sender: TObject);
var
dummy : Boolean;
begin
Application.HelpFile := "helpname.chm";
HH(0, 0, dummy);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// Закрыть все окна, открытые вызывающей программой
HtmlHelp(0, nil, HH_CLOSE_ALL, 0);
end;
end.
← →
botaniQ (2007-10-11 11:15) [4]Спасибо БОЛЬШОЕ....Скоро испробую....:)
← →
Суслик © (2007-10-11 12:33) [5]погугли по "Helpware Group"
я использую два модуля
hh.pas
hh_funcs.pas
для показа chm справки. пока доволен
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c