AGB  ·  Datenschutz  ·  Impressum  







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

Delphi 7 - Jedi VCL

Ein Thema von paule32.jk · begonnen am 30. Jul 2023 · letzter Beitrag vom 30. Jul 2023
Antwort Antwort
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi 7 - Jedi VCL

  Alt 30. Jul 2023, 11:08
Hallo,

in der JVCL gibt es doch unter anderem auch die Komponenten TJvRuntimeDesigner ...

Ich habe diesen (Form Controller) auch schon erfolgreich antesten können ...

Allerdings fehlt in der Dokumentation, wie man das selektierte Objekt (also den Rahmen
um das Objekt, mit dem man das Objekt verschieben und in seiner Größe ändern kann),
nachträglich auf eine bestimmte Größe ändert.

Ich platziere zum Beispiel (statisch) ein Sub-Classed TPaintBox auf den Designer, und
ich erhalte als Resultat ein Rechteck (Sizer-Frame), das ungefähr 80x80 Pixels groß ist.

Ich würde aber, nachdem ich es platziert habe, in der Höhe auf 20 Pixels ändern.

Leider schaffe ich das ohne Hilfe nicht.

Hier der kurze Quellcode:
Code:
unit PartA;

interface

uses
  Windows, Classes, Graphics, ExtCtrls;

type
  TPaintWire = class(TPaintBox)
  private
    FHeight: Integer;
    procedure setHeight(AValue: Integer);
  protected
    procedure Paint; override;
  public
    constructor Create(AComponent: TComponent); override;
  property
    Height: Integer read FHeight write setHeight default 14;
  end;

implementation

constructor TPaintWire.Create(AComponent: TComponent);
begin
  inherited Create(AComponent);
  self.Height := 20;
end;

procedure TPaintWire.setHeight(AValue: Integer);
begin
  FHeight := AValue;
end;

procedure TPaintWire.Paint;
begin
  inherited Paint;
  Canvas.Pen.Color := clBlack;
  Canvas.Pen.Width := 2;
  Canvas.MoveTo(1,1);
  Canvas.LineTo(1,Height-1);
  Canvas.LineTo(Width,Height-1);
end;

end.
und hier der statische Code:
Code:
procedure TFrame24.JvDesignPanel1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  line1: TPaintWire;
begin
  if ssCtrl in Shift then
  begin
    line1 := TPaintWire.Create(JvDesignPanel1);
    line1.Parent := JvDesignPanel1;
    line1.Width := 100;
    line1.Height := 20;
    line1.Top := Y;
    line1.Left := X;
    line1.Visible := true;
  end;
end;
würde mich auf Hilfe freuen

Gruß, paule
Frag doch einfach
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi 7 - Jedi VCL

  Alt 30. Jul 2023, 15:30
sodele, Problem ist gelöst !

ich hatte einfach das "Resize" der PaintBox Klassen-Objekts vergessen.
Frag doch einfach
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 12:31 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