AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

lästiges beepen abstellen ??

Ein Thema von erniepb · begonnen am 11. Jun 2002 · letzter Beitrag vom 18. Jun 2019
Antwort Antwort
Seite 3 von 6     123 45     Letzte » 
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
14.616 Beiträge
 
Delphi 10.3 Rio
 
#21
  Alt 12. Jun 2002, 12:49
Die Diskussion um die Code-Forumatierung hat in dem Moment begonnen, als die Lochstreifen abgelöst wurden und ist in so ziemlich jedem Programmier-Forum schon x-mal geführt worden ... wenn es Euch ein Bedürfnis ist, könnt Ihr diese Diskussion natürlich auch hier (Rubrik: Klatsch und Tratsch) fortführen.

@jbg: Man darf sich jederzeit über die Code-Formatierung anderer wundern; aber hälst Du Dich da nicht an unwichtigen Details auf?


Grüße,
Daniel
Daniel R. Wolf
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#22
  Alt 19. Okt 2002, 11:18
Hallo Leute,

dieses Thema hab ich jetzt ein halbes Jahr zurückgestellt. In dem alten Delphi Forum wurde es "verschüttet". Gott sei Dank verschwindet Wissen so schnell nicht im Nirwana. Was ich nicht genau weiß, ist wo ich das ganze einbauen soll / muß. Also bei mir ist die Problemstellung folgende : fleißige Zahlentipper sollen den Numerik Block einfach benutzen können und halt eine Zahl mit Enter abschließen können. Da die Tabtaste bekanntermaßen genau auf der anderen Seite der Tastatur ist, eignet sie sich für diesen Zweck nicht. Außerdem will ich dieses Prinzip im gesamten Programm durchziehen, also bei allen möglichen Typen von Eingabefeldern. Kann mir da noch jemand was zu sagen ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#23
  Alt 19. Okt 2002, 12:29
Hallo Hansa,

wenn ich Dich richtig verstehe, dann soll bei jedem drücken der Enter-Taste im Edit, der Focus zu nem anderen Edit springen, oder irgend eine Proz ausgeführt werden.

Erstelle eine OnChange Prozedur. Die kannst Du ja im OI jedem Edit anhängen.

Dort prüfst Du nur noch if Key = Enter then SetFocus.Nächstes Edit. Das findest Du mit FindComponent auf dem Formular.

Grüsse,Daniel
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.231 Beiträge
 
Delphi 2006 Professional
 
#24
  Alt 19. Okt 2002, 14:29
Einfacher geht es wohl mit der API GetNextDlgItem oder so. Damit bekommt das nächtse Kontroll in der Tab-Reihenfolge den Focus. Die genaue Syntax kann ich leider im Moment nicht angeben, ich bin mir auch noch nicht mal sicher, ob die wirklich so heißt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#25
  Alt 19. Okt 2002, 17:25
Hi,

Zitat:
ich bin mir auch noch nicht mal sicher, ob die wirklich so heißt.
An so nem Mist häng ich halt auch.

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.262 Beiträge
 
Delphi 2006 Professional
 
#26
  Alt 19. Okt 2002, 17:44
Moin Zusammen,

ich schlag mal vor:

GetNextDlgTabItem

Hier im KeyDown Event eines Edit Feldes angewendet, und zwar so, dass ich nur eine Routine für alle Edits des Formualares brauche.

Code:
[b]procedure[/b] TfrmLanguage.edTitleKeyDown(Sender: TObject; [b]var[/b] Key: Word; Shift: TShiftState);
[b]begin[/b]
  [b]if[/b] (Key = VK_RETURN)[b]then[/b]
  [b]begin[/b]
    windows.SetFocus(GetNextDlgTabItem(self.Handle,TWinControl(Sender).Handle,false));
  [b]end[/b];
[b]end[/b];
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#27
  Alt 19. Okt 2002, 18:08
Hallo,

vielen Dank für die Antworten. Aber ich will doch nur die Stelle wissen, wo ich das dann einbaue. Bei jedem Edit-Feld ? Naja, dann sieht mich vorerst hier keiner mehr. Dann habe ich vorerst nur in jedem Feld das einzubauen. Dann kommt folgendes : Frage : wieso komme ich aus dem Feld nicht mehr raus ? Antwort : TAB drücken. Frage : Wo ist denn das ? Antwort : Links oben. Frage : Wo ist links ? Nee Nee, ich will eine durchgängig intuitiv zu verstehende Benutzeroberfläche.

Der Code scheint ja zu funktionieren. Habe es zumindest hingekriegt, daß Enter oder Return funktionieren, allerdings MIT beep. Das ist aber Anfang des Jahres passiert.

Gruß
Hansa

Hallo Christian Seehase, hab Dein Posting gerade noch gesehen. Die Frage ist, an welcher ZENTRALEN Stelle das alles passieren soll ? Darum gehts halt.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#28
  Alt 19. Okt 2002, 18:48
Hallo,

hab den ganzen Thread nochmal durchgelesen.

PaulJr. hatte das hier geschrieben :

Zitat:
Bitte die Eigenschaft des Formulars KeyPriview auf TRUE setzen und natürlich die Prozedur EnterTab in das Projekt aufnehmen (bei mir liegt diese natürlich in einer allgemeiner UNIT)

__________________________________________________ ________________
1.) Die Umwandlung ENTER --> TAB sollte in aller Komponenten wirksam werden

Darüber Hinaus bei ESC wird das Formular geschlossen
So wärs gerade richtig. Aber :und natürlich die Prozedur EnterTab in das Projekt einfügen

Aber wo? darum gehts !
Sonst will ich ja gar nix wissen.

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.262 Beiträge
 
Delphi 2006 Professional
 
#29
  Alt 19. Okt 2002, 19:02
Moin Hansa,

ich hab' den Thread auch noch mal gelesen, und bin dabei zu folgendem gekommen:
  1. Bei jedem Formular KeyPreview auf true setzen
  2. Bei jedem Formular im Event OnKeyDown EnterTab aufrufen.

EnterTab steht dabei wo immer Du magst, solange jede Formularunit darauf zugreifen kann.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#30
  Alt 19. Okt 2002, 19:20
Hallo Christian,

Code:
EnterTab steht dabei wo immer Du magst, solange jede Formularunit darauf zugreifen kann.
Versteht mich denn keiner ? Das ist nicht mehr viel. Aber es nützt doch nichts, eine Prozedur zu schreiben, mit uses einzubinden und dann alles so lassen wie es ist. Welche Unit interessiert denn, ob irgendwo eine Prozedur steht ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf