Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Welches Ereignis muß ich tEdit verändern? (https://www.delphipraxis.net/182962-welches-ereignis-muss-ich-tedit-veraendern.html)

zillee 30. Nov 2014 09:02

Welches Ereignis muß ich tEdit verändern?
 
Welches Ereignis muß ich tEdit verändern?
Ich habe nach den Ereignis gesucht, aber es nicht gefunden. Eigenschaften und Ereignisse, welche Klick?

Besten Dank!

zeras 30. Nov 2014 09:15

AW: Welches Ereignis muß ich tEdit verändern?
 
Beschreibe doch mal, was du machen willst. An Hand deiner Infos kann ich das nicht erkennen.

zillee 30. Nov 2014 09:21

AW: Welches Ereignis muß ich tEdit verändern?
 
Da muß der nächste und der nächste tEdit angesprochen werden. Tut es aber nicht.

Eigenschaften und Ereignisse, welchen Klick?

TForm1 30. Nov 2014 09:24

AW: Welches Ereignis muß ich tEdit verändern?
 
Der Blick in die Glaskugel verrät... verrät... irgendwie immer noch nichts.:stupid:

Könntest Du deine Fragestellung diesbezüglich präzisieren und im korrekten Deutsch ausformulieren, dann würden dir sicherlich mehr Leute helfen können.

humbuck 30. Nov 2014 09:26

AW: Welches Ereignis muß ich tEdit verändern?
 
Ja, es wär hilfreich, wenn du mal etwas genauer beschreiben würdest, was du machen willst.

Ich vermute jedoch, willst die Ereignisprozeduren erneut aufrufen oder modifizieren:

Das ginge dann so:

>>ProzedureName(Self)<<

z.B. Edit1Change(self)

zillee 30. Nov 2014 09:30

AW: Welches Ereignis muß ich tEdit verändern?
 
Also:
Ich habe Delphi XE7 und Windows 7.
Welches Ereignis muß ich tEdit verändern damit ich auf den nächsten tEdit springen kann? Tut es aber nicht...
Die Eigenschaften und die Ereignisse, welchen Klick soll ich machen?

humbuck 30. Nov 2014 09:31

AW: Welches Ereignis muß ich tEdit verändern?
 
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;

humbuck 30. Nov 2014 09:35

AW: Welches Ereignis muß ich tEdit verändern?
 
Wenn per tab-taste weiter willst, musst den Wert taborder berücksichtigen...

zillee 30. Nov 2014 10:03

AW: Welches Ereignis muß ich tEdit verändern?
 
JA!!!
Hast Du auch nicht mit SendMessage(Self.Handle, ..., ..., ...)
Was ist mit den Werten darin um den Eintrag fortzuführen?
Besten Dank!

humbuck 30. Nov 2014 10:08

AW: Welches Ereignis muß ich tEdit verändern?
 
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...

zillee 30. Nov 2014 10:16

AW: Welches Ereignis muß ich tEdit verändern?
 
Ist doch das gleiche ... oder nicht?
Mit SendMessage(Self.Handle, ..., ..., ...) oder Perform(..., ..., ...) kann ich doch auch die Eingabefolge bestimmen.

humbuck 30. Nov 2014 10:25

AW: Welches Ereignis muß ich tEdit verändern?
 
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...

humbuck 30. Nov 2014 10:36

AW: Welches Ereignis muß ich tEdit verändern?
 
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???

zillee 30. Nov 2014 11:06

AW: Welches Ereignis muß ich tEdit verändern?
 
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!!

himitsu 30. Nov 2014 12:07

AW: Welches Ereignis muß ich tEdit verändern?
 
Crt?
MSDN-Library durchsuchenWM_NEXTDLGCTL oder Delphi-Referenz durchsuchenForm.FindNextControl

Aber was ist/war eigentlich so schwer daran einfach mal zu erklären was genau du wolltest?
Und Quellcode bitte in [DELPHI] :zwinker:

DeddyH 30. Nov 2014 13:44

AW: Welches Ereignis muß ich tEdit verändern?
 
http://www.delphipraxis.net/125006-w...n-richtig.html

p80286 30. Nov 2014 16:25

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

If you prefer to use the english language, it would be better to do so.

greetings
K-H

Perlsau 1. Dez 2014 06:12

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

Zitat von zillee (Beitrag 1281630)
Welches Ereignis muß ich tEdit verändern?
Ich habe nach den Ereignis gesucht, aber es nicht gefunden. Eigenschaften und Ereignisse, welche Klick?

Besten Dank!

CROSSPOST


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 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