Bei meinem Edit piept es
-
- Beiträge: 104
- Registriert: Mi 2. Jun 2010, 17:56
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Bei meinem Edit piept es
Hallo Lazaruser,
ich habe in meiner Lazarus-Anwendung mehrere Edit-Komponenten.
Als Ereignis habe ich in der Edit-Komponente 'OnKeyDown' gewählt.
Immer wenn ich eine Eingabe mit der Enter-Taste abschließe,
dann kommt der in Windows eingestellte Standard-Warnton.
Das kann ganz schön nerven.
Kann mir jemand sagen, wie man den weg bekommt ?
Allen ein schönes Wochenende,
Hercules
ich habe in meiner Lazarus-Anwendung mehrere Edit-Komponenten.
Als Ereignis habe ich in der Edit-Komponente 'OnKeyDown' gewählt.
Immer wenn ich eine Eingabe mit der Enter-Taste abschließe,
dann kommt der in Windows eingestellte Standard-Warnton.
Das kann ganz schön nerven.
Kann mir jemand sagen, wie man den weg bekommt ?
Allen ein schönes Wochenende,
Hercules
-
- Beiträge: 471
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Bei meinem Edit piept es
Hallo,
nach ein bisschen googlen hab ich das hier gefunden:
Bei meinem Win7 funktioniert das.
Dir auch ein schönes WE.
nach ein bisschen googlen hab ich das hier gefunden:
Code: Alles auswählen
uses ...., LCLType, windows;
...
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
mgsTemp: TMsg;
begin
if Key = VK_RETURN then
begin
PeekMessage(mgsTemp, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
end;
end;
Bei meinem Win7 funktioniert das.
Dir auch ein schönes WE.
mfg Ingo
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Bei meinem Edit piept es
Ich meine, dass es doch unter Windows ein Standard-Verhalten oder ? Oder könnte das etwa ein Bug sein. Davon habe ich schon lange nichts mehr gehört.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 471
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Bei meinem Edit piept es
Den Code oben hab ich von hier. Der Artikel ist von 2003 und für Delphi, also gehe ich mal davon aus das das Standard ist. Trotzdem nervt es.
mfg Ingo
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Bei meinem Edit piept es
Da du die Unit Windows und eine Plattform-abhängige API benutzt, wird dein Programm in der Form nur für Windows kompilierbar sein. Als Lösung wären zwei {$IFDEF Windows} nötig oder man gestaltet das ganze direkt plattformunabhängig:
Das hab ich selbst nicht getestet, sondern nur aus der Erinnerung abgerufen.
Code: Alles auswählen
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Key := 0;
end;
Das hab ich selbst nicht getestet, sondern nur aus der Erinnerung abgerufen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Bei meinem Edit piept es
Das hab ich selbst nicht getestet, sondern nur aus der Erinnerung abgerufen.
Jetzt wo du es erwähnst: Das ist / war ein Windows Problem und eine Oft gestellte Frage. Ich meine aber auch, dass es so gehen sollte.
Ich meine jedoch auch das es nicht key:=0 war sondern key:=#0 war unter KeyPress. Dürfte aber kein Unterschied machen, wobei ich hier noch auf die Taste prüfen würde:
if key = VK_Return then key:=0;
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Bei meinem Edit piept es
pluto hat geschrieben:Ich meine jedoch auch das es nicht key:=0 war sondern key:=#0 war unter KeyPress. Dürfte aber kein Unterschied machen, wobei ich hier noch auf die Taste prüfen würde:
if key = VK_Return then key:=0;
Ich hatte nur shockwaves Quellcode verändert und da war var Key: Word; deklariert; also ging ich von einem Integer-Typ aus.
Die Bedingung hab ich glatt übersehen, sollte aber mit rein (wer weiß, was sonst noch funktioniert).
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Bei meinem Edit piept es
Code: Alles auswählen
if key=13 then key:=0;
^^Ungestestet
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!
it´s not a bug, it´s a feature!
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Bei meinem Edit piept es
warum gleich 13 ? Warum nicht VK_RETURN ? Ist das gleiche, musst nur die Unit lcltype mit einbinden.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Bei meinem Edit piept es
pluto hat geschrieben:warum gleich 13 ? Warum nicht VK_RETURN ? Ist das gleiche, musst nur die Unit lcltype mit einbinden.
Weil es so ist . Ob du 13 oder VK_RETURN schreibst, hängt mehr oder weniger nur davon ab, ob du eine Vorliebe für Konstanten (im Gegensatz zu konstanten Werten) hast.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Lazarusforum e. V.
- Beiträge: 7180
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Bei meinem Edit piept es
Weil es so ist . Ob du 13 oder VK_RETURN schreibst, hängt mehr oder weniger nur davon ab, ob du eine Vorliebe für Konstanten (im Gegensatz zu konstanten Werten) hast.
Genau so habe ich es auch gemeint und auch geschrieben... oder etwa nicht ?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 104
- Registriert: Mi 2. Jun 2010, 17:56
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Bei meinem Edit piept es
Hallo Socke, Pluto, felix und shokwave,
vielen Dank für Eure Tipps. Ich muß mir das jetzt erst mal
auf der Zunge zergehen lassen. Werde Meldung erstatten,
ob ich Erfolg hatte oder nicht.
vielen Dank für Eure Tipps. Ich muß mir das jetzt erst mal
auf der Zunge zergehen lassen. Werde Meldung erstatten,
ob ich Erfolg hatte oder nicht.
-
- Beiträge: 104
- Registriert: Mi 2. Jun 2010, 17:56
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Bei meinem Edit piept es
Hallo Socke, Pluto, felix und shokwave,
mit
if Key=13 then key:=0;
funktioniert es !!!!
Vielen Dank an Euch alle.
mit
if Key=13 then key:=0;
funktioniert es !!!!
Vielen Dank an Euch alle.