AGB  ·  Datenschutz  ·  Impressum  







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

Memo-Feld nach unten hin ausblenden

Ein Thema von Der schöne Günther · begonnen am 2. Sep 2015 · letzter Beitrag vom 2. Sep 2015
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 10:17
Vorweg: VCL, nicht FireMonkey.

Der Benutzer kann, auf einem Kiosk-System, ein paar Zeilen eingeben. Ich möchte die ersten Zeilen als Vorschau anzeigen und beim Drauftippen soll er einen Dialog zum Eingeben bekommen. Es soll in etwa so aussehen:
unbenannt.png

Wie sollte man das am besten angehen?
  1. Ein transparentes TWinControl mit diesem Farbverlauf über ein Memo legen
  2. Den Text auf ein Bild rendern und einen Farbverlauf drübermalen
  3. Etwas anderes?

Ich freue mich über viele schlaue Ideen
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 10:33
Ich würde 2. versuchen!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 10:34
Ich glaube es war doch einfacher als gedacht, ich habe einfach den TeeChart zweckentfremdet

So ungefähr:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
   gradient: TTeeGradient;
begin
   textRectangle.Free();
   gradientRectangle.Free();

   textRectangle := TRectangleTool.Create(Chart1);
   try
      textRectangle.ParentChart := Chart1;

      textRectangle.Text := Memo1.Lines.Text;
      textRectangle.Bounds := textRectangle.ParentChart.ClientRect;
      textRectangle.Shape.Transparency := 0;

      Chart1.Tools.Add(textRectangle);
   except
      textRectangle.Destroy(); raise;
   end;

   gradientRectangle := TRectangleTool.Create(Chart1);
   try
      gradientRectangle.ParentChart := Chart1;
      gradientRectangle.Bounds := gradientRectangle.ParentChart.ClientRect;

      gradient := gradientRectangle.Shape.Gradient;
      gradient.Direction := TGradientDirection.gdBottomTop;
      gradient.Colors.Clear();
      gradient.Colors.Add(0.0, TColors.White, 75);
      gradient.Colors.Add(100.0, TColors.White, 0);
      gradient.Visible := True;

      gradientRectangle.Shape.Transparency := 00;

      Chart1.Tools.Add(gradientRectangle);
   except
      gradientRectangle.Destroy(); raise;
   end;
end;
Miniaturansicht angehängter Grafiken
form2_2015-09-02_11-32-11.png  
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 10:43
Manchmal geht's schneller als gedacht!
Wann hast du dir eigentlich angewöhnt, Destroy anstatt Free aufzurufen?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 10:45
Manchmal geht's schneller als gedacht!
Wann hast du dir eigentlich angewöhnt, Destroy anstatt Free aufzurufen?
Oder diese kreative try ... finally ... end Ersetzung durch try ... except ... raise; end

(Die vor allem nur dann greift, wenn es eine Exception gab)

Na gut, auf den zweiten Blick, kann man das schon so machen ... aber ob ich das so machen würde ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 2. Sep 2015 um 10:48 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 10:53
Destroy anstatt Free aufzurufen?
In dem Block (nach Konstruktor) ist es doch eindeutig dass die Referenz nicht nil sein kann, deshalb kann man sich das sparen.

Na gut, auf den zweiten Blick, kann man das schon so machen
Ich glaube eher das sollte man so machen, denn meine schönen Tools will ich doch im Normalfall gar nicht zerstören. Nur im Fehlerfall, denn wer Fehler macht wird gnadenlos zerstört.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Memo-Feld nach unten hin ausblenden

  Alt 2. Sep 2015, 11:16
Na gut, auf den zweiten Blick, kann man das schon so machen
Ich glaube eher das sollte man so machen, denn meine schönen Tools will ich doch im Normalfall gar nicht zerstören. Nur im Fehlerfall, denn wer Fehler macht wird gnadenlos zerstört.
Nun ja, dann solltest du aber keine dangeling pointer hinterlassen ... sonst hast du immer noch die A-Karte ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 01:27 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