Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi JvNetscapeSplitter automatisieren (https://www.delphipraxis.net/69262-jvnetscapesplitter-automatisieren.html)

fkerber 12. Mai 2006 15:32


JvNetscapeSplitter automatisieren
 
Hallo!

Und schon wieder eine Frage...

Diesmal geht es um eine Komponente aus der JVCL: JvNetscapeSplitter.
Damit ist es möglich, z.B. ein Panel zum Rand hin "verschwinden" zu lassen.

Allerdings ist dies anscheinend nur per Klick auf den entsprechenden Button möglich. Jetzt würde ich gerne dieses Ausblenden automatisch vornehmen lassen.

Das einzige was irgendwie nach automatisieren aussieht ist die Methode Perform, die eine Message und zwei Parameter erwartet.

Dummerweise weiß ich aber nicht, welche Message, welche Parameter etc.

Vielleicht kann mir einer von euch helfen?


Ciao Frederic

s-off 12. Mai 2006 15:43

Re: JvNetscapeSplitter automatisieren
 
Hallo,

ich hoffe, dass ich Dich richtig verstehe, und daher wundert es mich, dass Du es nicht mit

Delphi-Quellcode:
JvNetscapeSplitter1.Minimized := True;

versuchst :-/

fkerber 12. Mai 2006 17:11

Re: JvNetscapeSplitter automatisieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi!

Das hat leider einen äußerst negativen Effekt:

Der Pfeil auf dem "Button" dreht sich nicht rum. Das ist jetzt allerdings kein kosmetisches Problem, sondern auch ein praktisches:
Wenn man jetzt wieder auf den Button klickt, dann wird nicht wieder ausgeklappt, sondern es wird jetzt erst richtig eingeklappt (also die Pfeile rumgedreht) und erst beim nächsten Klick kann man wieder ausklappen.

Das ist schlecht....


Ciao Frederic

toms 12. Mai 2006 18:13

Re: JvNetscapeSplitter automatisieren
 
Zur Info (für andere) WMLButtonUp sieht so aus:
Delphi-Quellcode:
procedure TJvCustomNetscapeSplitter.WMLButtonUp(var Msg: TWMLButtonUp);
var
  CurPos: TPoint;
  OldMax: Boolean;
begin
  inherited;

  if FGotMouseDown then
  begin
    if ButtonHitTest(Msg.XPos, Msg.YPos) then
    begin
      CurPos := ClientToScreen(Point(Msg.XPos, Msg.YPos));
      // More than a little movement is not a click, but a regular resize.
      if ((Align in [alLeft, alRight]) and
        (Abs(FDownPos.X - CurPos.X) <= MOVEMENT_TOLERANCE)) or
        ((Align in [alTop, alBottom]) and
        (Abs(FDownPos.Y - CurPos.Y) <= MOVEMENT_TOLERANCE)) then
      begin
        StopSizing;
        if ButtonStyle = bsNetscape then
          Maximized := not Maximized
        else
          case WindowButtonHitTest(Msg.XPos, Msg.YPos) of
            wbMin:
              Minimized := not Minimized;
            wbMax:
              Maximized := not Maximized;
            wbClose:
              DoClose;
          end;
      end;
    end;
    FGotMouseDown := False;
  end
  else
    if AllowDrag then
  begin
    FindControl;
    if FControl = nil then
      Exit;

    OldMax := FMaximized;
    case Align of
      alLeft, alRight:
        FMaximized := FControl.Width <= MinSize;
      alTop, alBottom:
        FMaximized := FControl.Height <= MinSize;
    end;
    if FMaximized then
    begin
      UpdateControlSize(MinSize);
      if not OldMax then
        DoMaximize;
    end
    else
    begin
      case Align of
        alLeft, alRight:
          FRestorePos := FControl.Width;
        alTop, alBottom:
          FRestorePos := FControl.Height;
      end;
      if OldMax then
        DoRestore;
    end;
  end;
  Invalidate;
end;

fkerber 12. Mai 2006 19:36

Re: JvNetscapeSplitter automatisieren
 
Hi!

Fragt mich nicht warum, aber so klappt das automatische Zuklappen:

Delphi-Quellcode:
  JVNetscapeSplitter1.Minimized:=true;
  JVNetscapeSplitter1.Maximized:=true;
  JVNetscapeSplitter1.Refresh;
:wiejetzt:


Ciao Frederic

s-off 12. Mai 2006 19:41

Re: JvNetscapeSplitter automatisieren
 
*lacht*


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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