Autor Beitrag
Stefan S.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Sa 18.12.04 14:44 
Ich halte es für übertrieben, für jede Frage einen eigenen Thread aufzumachen, wenn man sie gleich alle in einen packen kann. Es kann also schon sein, dass das für ein paar der folgenden Fragen das falsche Forum ist. Naja, egal.

1) In vielen meiner Programme nutze ich die Prozedur "OnKeyDown", sodass man per Tastendruck bestimmte Ereignisse auslösen kann. Aber das funktioniert ja nur, wenn die jeweilige Komponente gerade den Fokus hat. Und die Form selber hat anscheinend nie den Fokus, selbst wenn ich sie anklicke, fuunktioniert das Drücken von Tasten nicht. Wenn ich dagegen das "OnKeyDown" von einem Edit nutze, geht das ohne Probleme. Da sieht man ja auch, wenn es den Fokus hat. Was empfehlt ihr mir zu tun, dass das Tastendrücken immer funktioniert? Alle Komponenten mit der "OnKeyDown"-Prozedur ausstatten? Oder was?

2) Gibt es irgendeine Möglichkeit, dass man auch per Tastendruck Ereignisse auslösen (um genau zu sein: Sounds abspielen) kann, wenn das Fenster minimiert ist (also nur noch unten in der Taskleiste) und eventuell sogar ein anderes Programm im Vordergrund ist?

3) Kann man bei einem Memo einstellen, dass man den Text nicht markieren kann und man nicht per Klick in das Textfeld so einen "blinkender Strich"-Cursor platzieren kann? Ich hab schon in der Delphi-Hilfe rumgesucht, aber ich hab keine "Eigenschaft" gefunden, mit der man das einstellen kann. Geht das überhaupt?

Danke im Vorraus.


Zuletzt bearbeitet von Stefan S. am Mi 22.12.04 17:46, insgesamt 2-mal bearbeitet
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Sa 18.12.04 14:56 
Titel: Re: 3 Fragen (2x Tastendruck + 1x Memo)
DaSteve hat folgendes geschrieben:
Ich halte es für übertrieben, für jede Frage einen eigenen Thread aufzumachen, wenn man sie gleich alle in einen packen kann. Es kann also schon sein, dass das für ein paar der folgenden Fragen das falsche Forum ist. Naja, egal.


:roll:

Zitat:
3) Kann man bei einem Memo einstellen, dass man den Text nicht markieren kann und man nicht per Klick in das Textfeld so einen "blinkender Strich"-Cursor platzieren kann? Ich hab schon in der Delphi-Hilfe rumgesucht, aber ich hab keine "Eigenschaft" gefunden, mit der man das einstellen kann. Geht das überhaupt?


Wenn ich dich richtig verstehe suchst du die Eigenschaft Enabled = false...

AXMD
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 18.12.04 14:58 
1) Form1.KeyPreview := true und das OnKeyPress der Form funktioniert immer.
2) Das Drücken einer Taste ist an sich ja schon ein Ereignis. Du kannst nach dem Auslösen eines Ereignisses beliebigen Code ausführen lassen.
3) Memo1.ReadOnly := true und der Text des Memos kann nicht mehr geändert werden.
Stefan S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Sa 18.12.04 14:59 
Titel: Re: 3 Fragen (2x Tastendruck + 1x Memo)
AXMD hat folgendes geschrieben:
Wenn ich dich richtig verstehe suchst du die Eigenschaft Enabled = false...


Nein, die kenne ich schon. Das Problem bei der ist, dass dann der Text automatisch grau wird und das will ich nicht. Der Text soll ganz normal angezeigt werden, nur soll man ihn nicht markieren und nicht "reinklicken" können.

Elite hat folgendes geschrieben:
3) Memo1.ReadOnly := true und der Text des Memos kann nicht mehr geändert werden.


Hab ich schon gemacht. Der Text kann auch nicht mehr geändert werden. Markieren kann man ihn aber trotzdem noch und reinklicken auch...


Zuletzt bearbeitet von Stefan S. am Sa 18.12.04 15:00, insgesamt 1-mal bearbeitet
Pr0g
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 220


D7 Pers
BeitragVerfasst: Sa 18.12.04 14:59 
Hallo,

zu 1) Stell die Eigenschaft "KeyPreview" der Form im OI auf "True". Weiteres zu dem Befehl in der Hilfe.

zu 2) Sollte mit einem systemweiten Shortcut, Hook gehen. Dazu kann ich aber nichts genaueres sagen.

zu 3) Willst du das Memo nur zum Anzeigen von Text benutzten, also das der User nicht selber irgendwas machen kann. Eine etwas "unsaubere" Lösung wäre, dass du das Memo auf ein Panel packst und die Eigenschaft "Enabled" des Panels auf "False" stellst.

MfG Pr0g
Stefan S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Sa 18.12.04 15:02 
Zu 1): OK, ich probier's mal aus.
Zu 2): Danke, ich such mal danach.
Zu 3): Ne, sorry, es sollte schon ein Memo sein - hab meine Gründe.
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 18.12.04 15:44 
Es wär dann ja auch ein Memo, nur dass es auf einem eigenen Panel läge.
Stefan S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 184


D5
BeitragVerfasst: Mo 20.12.04 16:16 
Ach so, ja, klar! ^^ Das Memo befand sich sowieso in einer Groupbox. Bei der hab ich jetzt "Enabled" auf "False" gestellt und man kann das Memo nicht mehr markieren, aber es ist trotzdem noch schwarz.

Das mit "Key Preview" hab ich auch ausprobiert und es hat einwandfrei funktioniert.

Das heisst: Frage 1) und Frage 3) sind beantwortet. Zu 2): Ich hab das von Pr0g noch nicht ausprobiert, aber wenn ihr was dazu wisst, bitte posten! Ich such dann mal in der Hilfe.

EDIT: Thread kann geschlossen werden, ich hab nämlich (weil ich noch mehr Fragen hab) einen neuen aufgemacht. Antworten auf Frage 2) bitte darein.