Status von Mum-Lock & Co auslesen
spacer
Autor Nachricht
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: Sa 27.09.03 20:44 
Moin erstmal!

Ich hab da ein Prob an dem ich im Moment verzweifle.

Ich will den Status der Num-Lock-Taste unter Kylix 3 / Slackware 9 auslesen. Bisher habe ich das immer so gemacht (unter Delphi / WinXP)

ausblenden Quelltext markieren
1:
if (GetKeyState(VK_NUMLOCK) and $1) <> 0 then Showmessage('!!');


Ich bekomme nun die Fehlermldung
Zitat:
undefinierter Bezeichner: 'GetKeyState'

GetKeyState ist in der unit QControls - angeblich. Diese steht bei mir auch in der uses.
Trotzdem Funzt das nicht!

Hat jemand ne Idee?

Gruß Renegade

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Beiträge: 1172
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 28.09.03 15:33 
Renegade hat folgendes geschrieben:
GetKeyState ist in der unit QControls - angeblich.

Dann hast du falsche Informationen. GetKeyState ist in der Unit Windows, da es eine WinAPI Funktion ist.


Zitat:
Hat jemand ne Idee?



ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function IsModKey(ModKey: Cardinal): Boolean;
var
  Root: Window;
  Child: Window;
  RootX, RootY, WinX, WinY: Longint;
  Mask: Cardinal;
begin
  XQueryPointer(Application.Display,
    XRootWindow(Application.Display, XDefaultScreen(Application.Display)),
    @Root, @Child, @RootX, @RootY, @WinX, @WinY, @Mask);

  Result := Mask and ModKey <> 0;
end;


ausblenden Delphi-Quelltext markieren
1:
if IsModKey(Mod1Mask) then // Mod1 ist meistens die ALT-Taste


Du musst jetzt nur noch herausfinden, welche ModxMask dem Num-Lock-Status entspricht.

ShiftMask = Shift (beide)
ControlMask = Ctrl (beide)
Button1Mask = Maus links

_________________
Ist Zeit wirklich Geld?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Renegade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: Mo 29.09.03 11:30 
AndyB hat folgendes geschrieben:
Renegade hat folgendes geschrieben:
GetKeyState ist in der unit QControls - angeblich.

Dann hast du falsche Informationen. GetKeyState ist in der Unit Windows, da es eine WinAPI Funktion ist.


Da hast Du nicht richtig gelesen - Ich brauche die Funktion unter Kylix / Linux und da gibt es keine unit Windows !

Gruß Renegade

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Mo 29.09.03 11:57 
Du hast nicht richtig gelesen! GetKeyState ist eine Funktion der Windows API und nicht unter Linux verfügbar. Was Du statt dessen machen sollst / kannst, hat Dir AndyB ebenfalls schon geschrieben.

barfuesser
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home