![]() |
abfragen, ob taste gedrückt ist
Hallo!
Ich will abfragen, ob Überschreiben (Taste: Einfg) aktiviert ist. wenn ja, soll das in einem panel ausgegeben werden und wenn nicht, dann nicht... hab mir gedacht ich mache es so:
Delphi-Quellcode:
das funktioniert aber nicht. außerdem fehlt noch die abfrage, insert ein- oder ausgeschaltet ist. wie stelle ich das an?
if (key = vk_Insert) then Statusbar1.Panels[1].text := 'Einfg';
Grüße, dopeline |
Hallo,
hast Du die Formular-Property KeyPreview auf True gesetzt ? |
Bessere Idee:
Form1.Keypreview auf true Globale Variable: AbIns: boolean; Im OnKeydown des Forms:
Delphi-Quellcode:
if (key = vk_Insert) then not AbsIns;
if AbsIns then StatusBar1.Panels[1].Text := 'Einfg' else {...} |
Hallo,
seit wann fallen globale Variablen in die Kategorie "Bessere Idee" ? |
In diesem Fall die einzige Möglichkeit... ;)
Allerdings sollte man sich wohl doch das "Bessere Idee" weg denken. Eigentlich war es die Anleitung, wie er das machen soll. Chris |
Hallo,
globale Variablen sind nie die einzige Lösung. Eigentlch sind globale Variablen immer die schlechteste Lösung. D.h. wenn man glaubt globale Vaiablen verwenden zu müssen, weiss sofort, dass das Programmdesign schwächen hat. |
Hallo dopeline,
als erstes solltest Du dir den Keyboard Status mit GetKeyboardState besorgen Zitat:
|
Jens hat da vollkommen Recht. Wer benutzt globale Variablen, außer in Ausnahmefällen? :shock: Je weniger, um so besser. In Basic gings nicht anders.
|
Das interessiert mich jetzt aber: Was spricht eigentlich gegen globale Variablen!?
:?: :?: :?: |
Und mich würde es mal interessieren, wie man mit GetKeyboardState herausfinden soll, ob "Überschreiben" ein- oder ausgeschaltet ist... :!:
Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz