Autor Beitrag
NaRF
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 21.11.02 18:36 
hallo,
ich habe eine Frage an euch:

Wie kann ich einem Button die Eigenschaft zuweisen (wenn möglich mit dem objektinspektor) beim Drücken der Entertate "geklickt" zu werden ? (wie z.B. bei Suchmaschinen. Man gibt einen Text ein, drückt Enter und die Suche wird gestartet)


Die Suche in der Delphihilfe brachte mir keine Ergebnisse.

Kann mir da jemand helfen ?
Funzi
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 21.11.02 18:48 
Das ist ganz einfach:

Man kommt zwar nicht gleich drauf, aber so müsste es gehen (bei mir zumindest hats geklappt):

Setze einfach die Eigenschaft Default von dem Button auf True

Dann muss eben nur Fokus auf dem Formular mit dem Button sein und dann gehts...

Hoffe das war das, was du gemeint hast. :wink:

_________________
Der Reboot:

Bei Linux hilfreich, aber nicht zwingend notwendig.
Bei Windows notwendig, aber nicht zwingend hilfreich.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 21.11.02 18:51 
Hi,

bei mir kommt egal, ob mit der Maus geclickt oder Enter gedrückt immer die showmessage.

ausblenden Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage ('ÖLKÖKÖ');
end;


Das mußt Du im OnClick-Event im Objektinspektor einstellen.

Gruß
Hansa
Funzi
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 21.11.02 18:55 
Titel: NEIN
Ich glaube, das war genau das, was er nicht wollte....

setz mal eine TMemo-Komponente auf dein Formular, schreibe einen Text darein und drücke dann Enter...

_________________
Der Reboot:

Bei Linux hilfreich, aber nicht zwingend notwendig.
Bei Windows notwendig, aber nicht zwingend hilfreich.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 21.11.02 18:59 
Hi,

das habe ich zu spät gesehen :

Zitat:
Man gibt einen Text ein, drückt Enter und die Suche wird gestartet)


Willst Du einen Text in einen Button eingeben oder was ? Gehe mal davon aus, daß Du einen Text woanders eingeben willst und der Button soll "aktiv" werden, falls Enter gedrückt wird. Dann mußt Du nur den Fokus auf den Button setzen, ungefähr so :
ausblenden Quelltext
1:
 Button1.SetFocus;[					


Gruß
Hansa
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Do 21.11.02 19:03 
Hi NaRF!

Hier im Forum gab es schon viele ähnliche Postings -> Suchen hilft meistens! Hier ist zum Beispiel eins, dass dir weiterhelfen sollte: www.auq.de/viewtopic...;highlight=onkeydown.

Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 21.11.02 19:09 
Hi Funzi,

Zitat:
setz mal eine TMemo-Komponente auf dein Formular


Um was geht es denn jetzt, um einen Button oder ein Memo ? Wenn ich Enter nicht für einen Zeilenumbruch benutzen will, sondern z.B. "z", dann wirds kompliziert. Vor allem, weil jeder dann beim Zeilenumbruch trotzdem Enter drückt und dadurch das Memo verläßt. :mrgreen:

Gruß
Hansa
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: Do 21.11.02 19:12 
Deshalb arbeiten wohl die Suchmaschinen nur mit einzeiligen Feldern? :?

Nee im Ernst. Bei einem TMemo ist es ja richtig, daß das Enter im Memo bleibt. Bei einem Edit funktioniert das mit dem Default wunderbar !

Wenn Du auch in einem Memo das Abfangen willst musst den anderen Weg gehen:
Zuerst Form1.KeyPreview := True setzen.
Somit wird jede Tastatureingabe zuerst vom Formular ausgewertet.
Dann kannst mit folgendem Code zB. beim Drücken von [CTRL]+[ENTER] den Button1 quasi drücken.
ausblenden Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 IF (Key = 13) AND (Shift = [ssCtrl]) then Button1Click(self);
end;

Über das (self) kannst in Button1Click dann sogar über den Sender rausbekommen wo denn der Fokus war. :wink:

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
Funzi
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 21.11.02 19:16 
Zitat:
Nee im Ernst. Bei einem TMemo ist es ja richtig, daß das Enter im Memo bleibt. Bei einem Edit funktioniert das mit dem Default wunderbar !


sag ich doch :wink:

_________________
Der Reboot:

Bei Linux hilfreich, aber nicht zwingend notwendig.
Bei Windows notwendig, aber nicht zwingend hilfreich.
NaRF Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 21.11.02 19:26 
Titel: Danke !
@Funzi:

vielen dank für die hilfe. dein tip funktioniert.

@mod:

problem gelöst. thread kann geschlossen werden.