| Autor |
Beitrag |
NaRF
Hält's aus hier
Beiträge: 9
|
Verfasst: 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
|
Verfasst: 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. 
_________________ Der Reboot:
Bei Linux hilfreich, aber nicht zwingend notwendig.
Bei Windows notwendig, aber nicht zwingend hilfreich.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Do 21.11.02 18:51
Hi,
bei mir kommt egal, ob mit der Maus geclickt oder Enter gedrückt immer die showmessage.
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
|
Verfasst: 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
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: 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 :
Quelltext
Gruß
Hansa
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: 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
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: 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.
Gruß
Hansa
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: 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. 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. 
_________________ "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
|
Verfasst: 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 
_________________ Der Reboot:
Bei Linux hilfreich, aber nicht zwingend notwendig.
Bei Windows notwendig, aber nicht zwingend hilfreich.
|
|
NaRF 
Hält's aus hier
Beiträge: 9
|
Verfasst: 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.
|
|