AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein CHM-Datei im eigenen Formular anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

CHM-Datei im eigenen Formular anzeigen

Ein Thema von joehoehal · begonnen am 7. Sep 2012 · letzter Beitrag vom 13. Sep 2012
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: CHM-Datei im eigenen Formular anzeigen

  Alt 13. Sep 2012, 08:59
Zitat:
Allerdings sehe ich dann immer noch den Rahmen,
Na ja wenn das alles ist?

Style := Style and not WS_BORDER;

gruss
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#12

AW: CHM-Datei im eigenen Formular anzeigen

  Alt 13. Sep 2012, 09:12
Ok, mit der Methode von EWeiss geht es auch Nur auch WS_SIZEBOX ausschließen... in meiner Beispiel-Unit sähe die Methode RefreshChildHandles dann so aus:

Delphi-Quellcode:
procedure THTMLHelpViewerHelper.RefreshChildHandles;
var
   rClient, rWindow: TRect;
   iFrameWidth, iFrameHeight: integer;
   iStyle: integer;
begin
   if FMainWindowHandle > 0 then begin
      case FMethod of
         rpmMain: begin
               // get window dimensions to hide frame
               FMainWindowDiff.Left := 0;
               FMainWindowDiff.Right := 0;
               FMainWindowDiff.Top := 0;
               FMainWindowDiff.Bottom := 0;
               iStyle := GetWindowLong(FMainWindowHandle, GWL_STYLE);
               iStyle := iStyle and (not WS_BORDER) and (not WS_SIZEBOX);
               SetWindowLong(FMainWindowHandle, GWL_STYLE, iStyle);
               Windows.SetParent(FMainWindowHandle, FControl.Handle);
            end;
         rpmChilds: begin
               // we're resizing this to have e.g. toolbar wrapped according to target size
               Windows.SetWindowPos(FMainWindowHandle, 0, 0, 0, FControl.ClientWidth, FControl.ClientHeight, 0);
               // need to hide since it won't contain any further controls
               Windows.ShowWindow(FMainWindowHandle, SW_HIDE);
               // TODO : we need to change message loops etc. for this to work!
                // now moving all childs
               EnumChildWindows(FMainWindowHandle, @HelpWindowChildsEnum, integer(Self));
            end;
      end;
      ReAlign;
   end;
end;
  Mit Zitat antworten Zitat
joehoehal

Registriert seit: 5. Aug 2012
Ort: Halle (Saale)
21 Beiträge
 
Delphi XE2 Starter
 
#13

AW: CHM-Datei im eigenen Formular anzeigen

  Alt 13. Sep 2012, 10:25
Ich habe inzwischen eine ganz einfache Lösung gefunden:
  • Hilfe-Fenster nicht direkt im Client-Bereich des Formulars, sondern mit SetWindow / SetWindoPos auf einem Panel anzeigen.
  • Größe und Position des Panels so einstellen, dass der Rahmen des Hilfe-Fensters nicht sichtbar ist. So lässt sich auch das Resizing leicht reakisieren.
Sicher nicht die eleganteste Lösung, aber sie funktioniert und ist für meine Bedürfnisse ausreichend.

Geändert von joehoehal (13. Sep 2012 um 11:43 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

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 11:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz