AGB  ·  Datenschutz  ·  Impressum  







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

Edit leert sich bei Enter

Ein Thema von Helmi · begonnen am 12. Jan 2013 · letzter Beitrag vom 13. Jan 2013
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#1

AW: Edit leert sich bei Enter

  Alt 12. Jan 2013, 17:18
es wird nicht leer, sondern es bricht um... mit Pfeil auf/ab kannst Du scrollen.

wenn Du das nicht willst, musst Du Deine CreateParams ändern.
Mist - ich könnt mich grad in A... beissen, weil ich da nicht selbst drauf gekommen bin
Danke für die Hilfe!

[EDIT]
Jetzt weiss ich auch woher das ES_MULTILINE kam:
Ich hab mir das mit dem Button einfügen in ein Edit von SpinEdit abgeschaut und dort ist ES_MULTILINE auch aktiv
so wie es ausschaut muss es auch aktiv bleiben, da es ohne nicht geht (also Button in Edit).

Wenn man sich aber dann das KeyPress intern vom SpinEdit anschaut, dann werden dort bestimmte Tasten "verschluckt"


Habs jetzt so gelöst:
Delphi-Quellcode:
procedure TAlignLabeledButtonEdit.KeyPress(var Key: Char);
begin
  If Key = #13 then
    Key := #0
  else
    inherited KeyPress(Key);
end;

procedure TAlignLabeledButtonEdit.CreateParams(var params: TCreateParams);
const
  Alignments: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);

begin
  inherited CreateParams(params);

  // Geerbte Parameter setzen
  params.Style := params.Style or Alignments[FAlignment] or ES_MULTILINE or
                  WS_CLIPCHILDREN;;
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<

Geändert von Helmi (12. Jan 2013 um 17:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Edit leert sich bei Enter

  Alt 13. Jan 2013, 12:58
Mittels meiner Änderung:
Delphi-Quellcode:
procedure TAlignLabeledButtonEdit.KeyPress(var Key: Char);
begin
   If Key = #13 then
     Key := #0
   else
     inherited KeyPress(Key);
end;
kann ich natürlich die Entertaste nicht mehr im OnKeyPress abfragen.
Gibts trotzdem ne Möglichkeit das ggf. zu Nutzen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#3

AW: Edit leert sich bei Enter

  Alt 13. Jan 2013, 13:29
Hallo,

vielleich hilft Dir folgendes:
Delphi-Quellcode:
procedure TAlignLabeledButtonEdit.KeyPress(var Key: Char);
begin
  inherited KeyPress(Key);
  if Key = #13 then
    Key := #0
end;
Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Edit leert sich bei Enter

  Alt 13. Jan 2013, 13:42
Hallo,

vielleich hilft Dir folgendes:
Delphi-Quellcode:
procedure TAlignLabeledButtonEdit.KeyPress(var Key: Char);
begin
  inherited KeyPress(Key);
  if Key = #13 then
    Key := #0
end;
Gruß
Wenn alles so einfach wär
Danke - so funktionierts
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#5

AW: Edit leert sich bei Enter

  Alt 13. Jan 2013, 15:44
Hallo,

ist gerade aufgefallen: Deine Komponente lässt das Pasten mehrzeiligen Texts zu. Wenn Du ein Return abfängst, dann vermute ich mal, dass Du an Deiner WMPaste noch ein bisserl schleifen musst.

Gruss
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Edit leert sich bei Enter

  Alt 13. Jan 2013, 19:56
ist gerade aufgefallen: Deine Komponente lässt das Pasten mehrzeiligen Texts zu. Wenn Du ein Return abfängst, dann vermute ich mal, dass Du an Deiner WMPaste noch ein bisserl schleifen musst.
Theoretisch ja - aber das lass ich jetzt mal unter den Tisch fallen (ich sollte da drunter mal wieder aufräumen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#7

AW: Edit leert sich bei Enter

  Alt 13. Jan 2013, 21:03
Hallo,

Zitat:
Theoretisch ja - aber das lass ich jetzt mal unter den Tisch fallen (ich sollte da drunter mal wieder aufräumen)
Bevor da dann nix mehr gefunden wird: Wenn Dir das Standardverhalten einer TEdit (nur die erste Zeile eines Mehrzeilers einfügen) genügt, dann hilft Dir vielleicht folgendes weiter:

Delphi-Quellcode:
procedure TAlignLabeledButtonEdit.WMPaste(var Message: TWMPaste);
var
  s : string;
  p, q : PChar;
begin
  If not FEditorEnabled or ReadOnly then
    exit;

  s := Clipboard.AsText;
  p := Pointer (s);
  q := p;
  while not (q^ in [#0, #10, #13]) do
    Inc (q);
  SetString (s, p, q - p);
  Clipboard.AsText := s;

  inherited;
end;
Gruß
Volker Zeller
  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 22:06 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