AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Styles und Hilfe im chm-Format

Ein Thema von Jelen · begonnen am 21. Apr 2017 · letzter Beitrag vom 12. Jul 2020
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
37.803 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Styles und Hilfe im chm-Format

  Alt 22. Apr 2017, 19:42
Aufrufen konnten wir auch, aber es sieht halt auch bissl vermugst aus, wenn das CSS nicht und JS nur teilweise geladen wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Jelen

Registriert seit: 5. Nov 2003
34 Beiträge
 
#12

AW: Styles und Hilfe im chm-Format

  Alt 3. Mai 2017, 09:06
Hallo!
@Luckie: Danke für deinen "zurück zum Thema" Einwurf !
Inzwischen hab' ich die Sache einigermaßen in den Griff bekommen - falls jemand von Euch vor demselben Problem steht, hier meine Lösung.

Den Eintrag Vcl.HtmlHelpViewer habe ich aus der uses-Liste rausgenommen und statt dessen ein TApplicationEvents Objekt eingesetzt, um alle Hilfeaufrufe zentral abzufangen und die chm-Hilfedatei selbst aufzurufen:
Code:
function TForm1.ApplicationEventsHelp (Command: Word; Data: NativeInt;
                                       var CallHelp: Boolean): Boolean;
 begin
  CloseHelpWnd;
  Result := ShellExecute(0,'open','hh.exe',
                         PWideChar('-mapid '+IntToStr(Data)
                                   +' ms-its:'+Application.HelpFile),
                         nil,SW_SHOW) = 32;
  CallHelp := false;
 end;
Damit ist das CHM-Hilfefenster nun unabhängig von meiner Anwendung, d. h. keine Child / Parent Beziehung mehr, und schon reagiert es auch auf die Styles meiner Anwendung nicht mehr, die Anzeige im Fenster ist sauber.
Weil nun aber jeder Hilfeaufruf aber ein neues Fenster erzeugt, schieße ich ein evtl. bestehendes vorher ab:
Code:
procedure TForm1.CloseHelpWnd;
 const HelpTitle = 'Beispiel';   { <= Hier den Titel Eurer Hilfedatei einsetzen!! }
 var HlpWind: HWND;
 begin
  HlpWind := FindWindow('HH Parent',HelpTitle);
  if HlpWind <> 0 then PostMessage(HlpWind,WM_Close,0,0);
 end;
Einen weiterer Aufruf von CloseHelpWnd im FormDestroy-Event sorgt dafür, dass ein evtl. bestehendes Hilfefenster zusammen mit der Anwendung geschlossen wird.

Etwas unzufrieden bin ich noch mit dem Schließen und Neuöffnen des Hilfefensters, wenn nacheinander verschiedene Hilfethemen aufgerufen werden. Bestimmt gibt es eine Möglichkeit über Messages, das bestehende Hilfefenster zu überreden, einfach ein anderes Thema anzuzeigen - aber dazu konnte ich einfach nichts finden.
Falls jemand von Euch dazu eine Lösung hat, bitte hier her damit !
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
102 Beiträge
 
Delphi 2005 Professional
 
#13

AW: Styles und Hilfe im chm-Format

  Alt 3. Mai 2017, 11:05
Ich benutze schon ewig das hier:

http://kb.helpwaregroup.com/code/delphi-hh-kit

Klappt einwandfrei.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.235 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Styles und Hilfe im chm-Format

  Alt 3. Mai 2017, 12:20
Klappt einwandfrei.
Auch mit aktiven VCL-Styles? Darum geht es ja hier gerade.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
37.803 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Styles und Hilfe im chm-Format

  Alt 3. Mai 2017, 12:23
HTML-Styles aka CSS?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Jelen

Registriert seit: 5. Nov 2003
34 Beiträge
 
#16

AW: Styles und Hilfe im chm-Format

  Alt 3. Mai 2017, 13:19
Hallo Sailor,
so weit ich weiß gibt es vom Delphi HH Kit keine aktuelle Version mehr. Ich hatte es ursprünglich sogar drin im Projekt, mit Delphi 2009, aber bei der Übernahme des Projektes in Delphi 10.1 Berlin musste ich es raus nehmen, weil irgendwas nicht passte. Empfand ich auch nicht als problematisch, schließlich kommt Delphi ja inzwischen mit hauseigener chm-Unterstützung daher (Vcl.HtmlHelpViewer).
Nur, das diese eben allergisch auf die VCL Styles reagiert.
  Mit Zitat antworten Zitat
user69

Registriert seit: 10. Dez 2004
45 Beiträge
 
#17

AW: Styles und Hilfe im chm-Format

  Alt 8. Jul 2020, 21:13
Gibt es hier mittlerweile Lösungen?
Ich stehe nun vor dem selben Problem in D10Sydney.

Bin auch offen für andere Hilfe Aufrufe oder Komponenten (local - nicht im web).

Eigentlich hoffte ich Delphi hätte die Styles nun im Griff, aber irgendwie scheint mir das leider noch nicht so.

PS: Auch der Aufruf von HH.exe funktioniert bei mir nicht zumindest nicht mit -mapid. (HH geht nicht mal auf).
  Mit Zitat antworten Zitat
user69

Registriert seit: 10. Dez 2004
45 Beiträge
 
#18

AW: Styles und Hilfe im chm-Format

  Alt 9. Jul 2020, 17:08
Auch ja, vielleicht weiß jemand, wie Embarcadero das für Delphi selbst löst? Delphi nutzt ja auch die Styles aber die Hilfe ist dort ok.

User69
  Mit Zitat antworten Zitat
user69

Registriert seit: 10. Dez 2004
45 Beiträge
 
#19

AW: Styles und Hilfe im chm-Format

  Alt 12. Jul 2020, 22:11
OK, nach nun etlichen probierereien habe ich wohl eine Lösung (noch nicht ganz 100% getestet): Die Hilfe muss aus einer "ungestylten" Form aufgerufen werden.

Also einfach eine neue Form der Anwendung hinzufügen. Bei dieser alle Style Element ausschalten: StyleElements := [];
In der Mainform dann in FormCreate die Form erzeugen: HelpForm:= THelpForm.Create(Self);
Bei dieser neuen Form einfach unten die Procedure einfügen, und aus FromHelp dann diese neue Procedure aufrufen: HelpForm.CallHelp(Data);
um das kurze aufblinken der neuen From zu kaschieren, dann man die ja klein machen oder geschickt verstecken.

procedure THelpForm.CallHelp(Data: Integer);
begin
MainForm.OnHelp:= nil;
Application.HelpContext(Data);
MainForm.OnHelp:= MainForm.FormHelp;
end;

Vielleicht hilft das ja auch anderen weiter.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf