AGB  ·  Datenschutz  ·  Impressum  







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

Welches Ereignis muß ich tEdit verändern?

Ein Thema von zillee · begonnen am 30. Nov 2014 · letzter Beitrag vom 1. Dez 2014
Antwort Antwort
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#1

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 09:31
Er will nach Beendigung der Eingabe dann automatisch zum nächsten TEdit springen...

In die onkeypress des vorherigen TEdit eintragen schreiben
Delphi-Quellcode:
case key of
  #13 : begin
          key := #0
          edit2.SetFocus;
        end;
 end;
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#2

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 09:35
Wenn per tab-taste weiter willst, musst den Wert taborder berücksichtigen...
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
zillee

Registriert seit: 30. Nov 2014
6 Beiträge
 
#3

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 10:03
JA!!!
Hast Du auch nicht mit SendMessage(Self.Handle, ..., ..., ...)
Was ist mit den Werten darin um den Eintrag fortzuführen?
Besten Dank!
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#4

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 10:08
Das ist jetzt aber schon ein ganz anderes Thema...

...und leider auch etwas unbegreiflich...

Es wäre sehr hilfreich, wenn du etwas umfangreicher beschreiben würdest, wo dich dein Weg hinführen soll...
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
zillee

Registriert seit: 30. Nov 2014
6 Beiträge
 
#5

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 10:16
Ist doch das gleiche ... oder nicht?
Mit SendMessage(Self.Handle, ..., ..., ...) oder Perform(..., ..., ...) kann ich doch auch die Eingabefolge bestimmen.
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#6

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 10:25
Das ist sicherlich nicht das gleiche...

Ich bin jetzt zu faul zum Schreiben, deshalb eine kopierter Ausblick auf die Mühe mit Sendmessage...

Delphi-Quellcode:
const
   MY_MESSAGE = WM_USER + 4242;
  
type
   TForm1 = class(TForm)
     Button1: TButton;
     procedure Button1Click(Sender: TObject);
     // Handler that receive the Message
     procedure MessageReceiver(var msg: TMessage); message MY_MESSAGE;
   end;

var
   Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
   txt: string;
begin
   txt := 'Hello World';
   SendMessage(Form1.Handle, MY_MESSAGE, 0, DWORD(PChar(txt)));
end;

// To receive this custom Message that is addressed to form1.handle
 // you need a message handler.

procedure TForm1.MessageReceiver(var msg: TMessage);
var
   txt: PChar;
begin
   txt := PChar(msg.lParam);
   msg.Result := 1;
   ShowMessage(txt);
end;
Sollte dir nach kurzer Analyse vielleicht weiter helfen...
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
Benutzerbild von humbuck
humbuck

Registriert seit: 26. Nov 2014
Ort: BW
65 Beiträge
 
Delphi XE4 Professional
 
#7

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 10:36
Hier noch ein "kleines" Beispiel:

Delphi-Quellcode:
function GetActiveWord(rch : TRichedit;x,y: integer): string;
var pos : Integer;
poin : TPoint;
start_pos : Integer;
end_pos : Integer;
c : Char;
txt : string;
txtlen : Integer;
begin
poin.x := x; poin.y := y;
pos := SendMessage(rch.handle, EM_CHARFROMPOS, 0, integer(@poin));
If pos <= 0 Then Exit;
txt := rch.Text;
while (pos > 0)and(txt[pos] in ['0'..'9','a'..'z','A'..'Z','_',
'ö','Ö','ü','Ü','ä','Ä']) do dec(pos);
start_pos := pos+1;
inc(pos);
while (pos < length(txt))and(txt[pos] in ['0'..'9','a'..'z','A'..'Z','_',
'ö','Ö','ü','Ü','ä','Ä']) do inc(pos);
end_pos := pos;
result := copy(txt,start_pos,end_pos-start_pos);
end;
Funktionsaufruf:
Delphi-Quellcode:
procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState;
X,Y: Integer);
begin
statusbar1.SimpleText := GetActiveWord(richedit1,x,y);
end;
Aber warum nicht einfach, wenn's auch umständlich geht...

Wie bereits erwähnt: Was hast du eigentlich vor? Willste nur z.B. bei einer Passworteingabe ins PW-Verifizierungsfeld springen???
Jörch
Wissen ist Macht!
Wenn man nix weiß, muss man halt nur wissen, wo man nachschlagen muss.
Ergo: Ich weiß nix - macht nix.
  Mit Zitat antworten Zitat
zillee

Registriert seit: 30. Nov 2014
6 Beiträge
 
#8

AW: Welches Ereignis muß ich tEdit verändern?

  Alt 30. Nov 2014, 11:06
Nein, das ist ein Organisationsprogramm.
Ich habe es:

procedure TriggerKeyOnPress(Sender: tObject; var key: char);
begin
...
...
if ord(key) = VK_RETURN then beginn
key := #0;
Perform(WM_NextDlgCrt, 0, 0);
end;
...
...
end;

Vielen Dank!!
  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 06:43 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