AGB  ·  Datenschutz  ·  Impressum  







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

TEdit - Textbereich eingrenzen

Ein Thema von der_kumpel · begonnen am 22. Jan 2008 · letzter Beitrag vom 22. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#1

TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 16:58
Hallo,


hab gerade ein Problem bei der Formulierung meines Problems,
darum verweise ich gleich mal auf das Bild im Anhang.

Wie kann ich also den Bereich von rechts "abgrenzen",
sodass das Eingabefeld ab dort zuende ist und rechts ein freier Bereich bleibt?

Kann mir jemand nen Tipp geben wie man da rangehen kann?
Könnt auch ne andere Komponente sein...


Danke schonmal,
kumpel
Miniaturansicht angehängter Grafiken
edit_282.png  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 16:59
Meinst Du MaxLength?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#3

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 17:54
Danke für deinen Vorschlag, aber das ist es leider nicht.

Egal, wieviel in dem Edit drinsteht, es soll rechts immer ein Rand bleiben,
als ob dort schon das Edit zu Ende ist.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 17:58
Ich kann es gerade nicht ausprobieren, aber ginge das evtl. durch künstliches Anfügen von Leerzeichen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 18:15
Darf man erfahren, was das bringen soll?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 18:17
Gut, das habe ich mich auch schon gefragt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 18:21
Zitat von DeddyH:
Gut, das habe ich mich auch schon gefragt
Dann hättest es halt mal geposted, Du Nase
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 18:30
[OT] Bei meinen Codes fragt man sich ja auch manchmal nach dem tieferen Sinn [/OT]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 19:28
Hallo

Um den Bereich rechts einzugrenzen, müssen wir die Grösse der NCA neu berechnen.
Wenn WM_NCCALCSIZE gesendet wird, machen wir die neue Berechnung.
Zusätzlich behandeln wir noch WM_NCPAINT, damit das normale Aussehen des Edits wieder
hergestellt wird.

Eine vereinfachte Komponente könnte so aussehen:

Delphi-Quellcode:
unit BorderEdit;

interface

uses
  Windows, Messages, Classes, Controls, StdCtrls, Graphics;

type
  TBorderEdit = class(TEdit)
  private
   procedure WMNCCalcSize(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
   procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
   procedure NCPaint(ACanvas : TCanvas);
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TBorderEdit]);
end;

procedure TBorderEdit.WMNCCalcSize (var Message: TWMNCCalcSize);
begin
  inherited;
  Dec(Message.CalcSize_Params^.rgrc[0].Right, 15);
end;

procedure TBorderEdit.NCPaint(ACanvas : TCanvas);
begin
  ACanvas.Pen.Color := clWindow;
  ACanvas.Brush.Color := clWindow;
  ACanvas.Rectangle(Rect(3,2, Width-2, Height-2));
end;

procedure TBorderEdit.WMNCPaint(var Msg: TWMNCPaint);
var
  Canvas : TCanvas;
  DC : HDC;
begin
  inherited;
  Canvas := TCanvas.Create;
  DC := GetWindowDC(Handle);
  try
    Canvas.Handle := DC;
    NCPaint(Canvas);
    Invalidate;
  finally
    ReleaseDC(Handle, DC);
    Canvas.Free;
  end;
end;

end.
Angehängte Dateien
Dateityp: zip borderedit_120.zip (208,6 KB, 8x aufgerufen)
Thomas
  Mit Zitat antworten Zitat
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#10

Re: TEdit - Textbereich eingrenzen

  Alt 22. Jan 2008, 21:38
Genau das hab ich gemeint.

Vielen, vielen Dank, toms!

Edit, @ Die Muhkuh:
Da kommt eine CheckBox rein.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:22 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