AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi space taste sperren und freigeben ohne onKeyPress
Thema durchsuchen
Ansicht
Themen-Optionen

space taste sperren und freigeben ohne onKeyPress

Ein Thema von Katrin_K · begonnen am 10. Sep 2006 · letzter Beitrag vom 11. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#1

space taste sperren und freigeben ohne onKeyPress

  Alt 10. Sep 2006, 19:50
hi

Ich möchte die Spacetaste Sperren, da ich mir mit dem tastendruck eine Nachricht anzeigen lassen möchte.

Delphi-Quellcode:
 if Windows.GetAsyncKeyState(32)<0 then //32 Space
    begin
      showmessage('Test');
    end
Die Nachricht wird mir aber nicht angezeigt, weil der Tastendruck Das Fenster gleich wieder schließt.

Oder kann man vielleicht das GetAsyncKeyState-Feld veränderm???


gruss katrin
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#2

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 10. Sep 2006, 20:03
Was spricht gegen:
Delphi-Quellcode:
if Key = ' then
begin
  ShowMessage('Hallo Welt!');
end;
Warum wird das Fenster wieder grschlossen? Benutzt du ein normales Formular oder einen Dialog?
Christian
  Mit Zitat antworten Zitat
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#3

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 10. Sep 2006, 20:10
Ich frage mit

Windows.GetAsyncKeyState(32)<0 ob die Leertaste gedrückt wurde.

Wenn das der Fall ist Zeige ich mir ein MessageFenster

showmessage('Test'); an.

Da aber in dem Fenster der Focus auf dem OK-Button liegt und das Signal von der gedrückten Space an das Messagefenster weitergegeben wird, so schließt sich das Fenster wieder sofort.

Delphi-Quellcode:
if Windows.GetAsyncKeyState(32)<0 then //32 Space
    begin
      //space sperren oder feld für gedrückte tasten manipulieren. sprich: gedrückteTastenFeld[32] := 0;
      showmessage('Test');
    end
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 10. Sep 2006, 22:45
Tja, wie wäre es als Workaround ein eigenes Fenster zu benutzen? Bsp: MSDN-Library durchsuchenMessageBoxIndirect()!
  Mit Zitat antworten Zitat
Benutzerbild von luigied
luigied

Registriert seit: 14. Jan 2006
31 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 11. Sep 2006, 10:11
Hi,

wäre es nicht auch möglich bei onKeydown ein anderes Form zu öffnen und darin den Text anzeigen zu lassen? In onKeyup könnte man das Form doch wieder ausblenden.
mfg, Luigi
  Mit Zitat antworten Zitat
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#6

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 11. Sep 2006, 13:47
Danke luigied für deine Antwort, aber das ist leider keine Lösung für mein Problem.

Hi Olli
ich werde mal schaun, ob ich einen workaround machen kann.
Sonst mache ich das nicht, weil dann ein problem nach dem anderen umgangen wird anstatt eine optimale lösung zu finden.
trotzdem danke für die idee.

gruss katrin
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 11. Sep 2006, 13:48
Moin Katrin,

wo fragst Du die Taste denn ab?
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
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#8

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 11. Sep 2006, 14:00
Ich habe auf meiner Fomr ein Image das ich verändere in einer endlosschleife.
in der schleife frage ich nun die taste space ab if Windows.GetAsyncKeyState(32)<0 then um den bildverändernden Vorgang zu unterbrechen.

Das klappt auch alles solange ich nicht die space oder enter nehme.
Aber ich will die space taste benutzen. ggrrrr
  Mit Zitat antworten Zitat
Benutzerbild von luigied
luigied

Registriert seit: 14. Jan 2006
31 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 11. Sep 2006, 14:05
Sorry.
Ich glaube ich hab mich falsch ausgedrückt
Ich meinte, dass in dem neuen Form deine Nachricht in einem Label oder so ausgegeben wird.
(so zu sagen als selbstgebautes ShowMessage)

Was willst du denn darin ausgeben, bzw. warum 'test'?
mfg, Luigi
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: space taste sperren und freigeben ohne onKeyPress

  Alt 11. Sep 2006, 14:23
hmm...

du könntest ja ein Application.Processmessages einbauen, dann kannst du den abbruch mit einem button machen.

was für ein problem hast du genau? welches fenster schließt sich? gleich wieder?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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