AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eingebettete DLL-Form, Scrollbar Problem

Ein Thema von jensw_2000 · begonnen am 5. Mai 2006 · letzter Beitrag vom 9. Mai 2006
 
jensw_2000
(Gast)

n/a Beiträge
 
#1

eingebettete DLL-Form, Scrollbar Problem

  Alt 5. Mai 2006, 08:18
Ich habe eine Anwendung eingebetteten Formularen (DLL basiert).
Diese funktioniert soweit zufriedenstellend, jedoch sind bisher alle Versuche Scrollbalken bei Größenänderung der Hauptanwendung darzustellen erfolglos geblieben.
Die DLL-Forms werden auf einem Panel der Hauptanwendung mit CreateParented dargestellt.

Zur Zeit versuche ich es auf folgenden Weg:
Ich sende im OnResize der Hauptanwendung eine Message an das eingebettete DLL Formular, die der Form die aktuelle Größe des "Patent-Panels" (PluginTarget) mitteilt.
Delphi-Quellcode:
SendMessage( AdsPlugins[CurrentPluginIndex].Plugin.PluginFormHandle,
             WM_MainAppResize,
             PluginTarget.Width,
             PluginTarget.Height );
Das DLL-Formular hat einen entsprechenden Eventhandler für die Message.

Delphi-Quellcode:
procedure TPluginForm.onWM_MsgAppResize(var message: TMessage);
begin
  // DLL Form positionieren und Größe an den "Parent-Panel anpassen"
  Align:=alNone;
  Top:=0;
  Left:=0;
  Height:=Message.lParam;
  Width:=Message.WParam;
  AutoScroll:=true;
  
  // alle Steuerelemente der DLL Form liegen auf einem Panel ("BgPanel")
  // dieser wird nun konfiguriert
  With BgPanel do
  begin
    Top:=0;
    Left:=0;
    Constraints.MinHeight:=680;
    Constraints.MinWidth:=850;
    Width:=ClientWidth;
    Height:=Clientheight;
  end;

end;
Funktioniert leider nicht. Die Größe der DLL-Form wird zwar angepasst und stimmt, aber wenn die Größe des "ParentPanels" die in den BgPanel.Contraints festgelegten Minimalablessungen unterschreitet zeigt die DLL-Form die Scrollballken nicht an, sondern schiebt sich über den "Bildrand".

Ich habe schon 100 andere Wege probiert und kapituliere

Unter anderem habe ich folgendes erfolglos getestet:
- Scrollbox auf der DLL-Form
- Scrollbox auf dem "Parent-Panel"
- AutoScroll in Hauptanwendung
- AutoScroll in DLL-Form
- Scrollbars in Hauptanwendung erzwingen mit ShowScrollBar(handle, SB_BOTH, true);
- Scrollbars in DLL-Form erzwingen mit ShowScrollBar(handle, SB_BOTH, true);
- diverse Varianten von Align und SetBounds

Ich bin ratlos.

Kann mit jemand erklären wie automatisch Scrollbars bekomme, wenn die Hauptanwendung kleiner ist als das eingebettete DLL-Formular ?



Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
 


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