Autor Beitrag
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic 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
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."
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
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
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
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?
Renegade Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic 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."
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