Deutsch
Quelltexte/ Codesnippets

Capslock Numlock Scrollin Status Tastaturabfrage

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Tastaturabfrage: NUMLOCK, Capslock und Scrollin der Statuszeile anzeigen
---------------------------------------------------------------------------
Keyboardstatus-Anzeige mit Profan                (P)Fairware, Freeware....
(c) 1998 Richard Maurukas
bearbeitet von Dietmar Horn
---------------------------------------------------------------------------
Definitionen für die Keyboardstatusanzeige.
Def GetKeyboardState(1) ! USER32.DLL,GetKeyboardState
Def SetKeyboardState(1) ! USER32.DLL,SetKeyboardState
Declare Keyboardstate#
Dim Keyboardstate#,256
Statusbar und Felder----
declare Statusbar1&,Statbarfeld1&,Statbarfeld2&,Statbarfeld3&,Statbarfeld4&
declare Statbarfeld5&,Statbarfeld6&,Statbarfeld7&
Declare Ende%
--------------------------------PROC STATUSBAR BEGIN--------------------------

PROC STATUSBAR

    declare Statusbar1&,Statbarfeld1&,Statbarfeld2&,Statbarfeld3&,Statbarfeld4&
    declare Statbarfeld#,Trect#
    dim Statbarfeld#,30
    dim Trect#,16
    let Statusbar1&=@control(msctls_statusbar32,,
     $50800000,40,20,150,40,%Hwnd,201,%Hinstance)
    long Statbarfeld#,0=150                der rechte Rand des ersten Parts
    long Statbarfeld#,4=250                der rechte Rand des zweiten Parts
    long Statbarfeld#,8=390                der rechte Rand des dritten Parts
    long Statbarfeld#,12=440               der rechte Rand des dritten Parts
    long Statbarfeld#,16=480
    long Statbarfeld#,20=520
    long Statbarfeld#,24=560
    sendmessage(Statusbar1&,$0404,7,Statbarfeld#) felder aufteilen
    sendmessage(Statusbar1&,$040A,0,Trect#) Rectanglestruct aus 0 holen
    let statbarfeld1&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,401,%HInstance)
    sendmessage(Statusbar1&,$040A,1,Trect#)
    let statbarfeld2&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,402,%HInstance)
    sendmessage(Statusbar1&,$040A,2,Trect#)
    let statbarfeld3&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,403,%HInstance)
    sendmessage(Statusbar1&,$040A,3,Trect#)
    let statbarfeld4&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,404,%HInstance)
    sendmessage(Statusbar1&,$040A,4,Trect#)
    let statbarfeld5&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,405,%HInstance)
    sendmessage(Statusbar1&,$040A,5,Trect#)
    let statbarfeld6&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,406,%HInstance)
    sendmessage(Statusbar1&,$040A,6,Trect#)
    let statbarfeld7&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,407,%HInstance)
    settext statbarfeld1&,R.Maurukas
    settext statbarfeld2&,KeybStatus
    settext Statbarfeld3&,Anzahl
    settext Statbarfeld4&,SOSO
    Dispose Statbarfeld#
    Dispose Trect#

ENDPROC

--------------------------------PROC STATUSBAR ENDE---------------------------
-------------------------------PROC KEYBOARDSTATUS BEGIN----------------------

PROC KEYBOARDSTATUS

    Tastaturzustand in keyboardstate# kopieren.
    GetKeyboardState(keyboardstate#)
    Num Lock Taste Abfragen und in der Statuszeile anzeigen

    if equ(byte(keyboardstate#,144),1)

        Settext Statbarfeld5&,NUM
        enablemenu 405,0
        enablemenu 406,1

    else

        Settext Statbarfeld5&,
        enablemenu 405,1
        enablemenu 406,0

    ENDIF

    Caps-Lock (Umschalt-Taste) abfragen und Ergebnis in der Statuszeile zeigen

    if equ(byte(keyboardstate#,20),1)

        Settext Statbarfeld6&,Caps

    else

        Settext Statbarfeld6&,

    ENDIF

    Scroll-Lock abfragen und Ergebnis in der Statuszeile anzeigen

    if equ(byte(keyboardstate#,145),1)

        Settext Statbarfeld7&,Scroll

    else

        Settext Statbarfeld7&,

    ENDIF

ENDPROC

-------------------------------PROC KEYBOARDSTATUS ENDE-----------------------
Window 0,0-640,480
Windowtitle KeyboardStatus Anzeige mit Profan, (c) 1998 Richard Maurukas
cls rgb(0,0,128)
POPUP Datei
Appendmenu 101,Num ein
Appendmenu 102,Num aus
Separator
Appendmenu 103,Caps ein
Appendmenu 104,Caps aus
Separator
Appendmenu 105,Scroll ein
Appendmenu 106,Scroll aus
Separator
Appendmenu 199,Beenden
STATUSBAR
KEYBOARDSTATUS
Drawtext 10,10, Zeigt NUMLOCK, Capslock und Scrollin der Statuszeile an

Whilenot ENDE%

    getmessage

    If menuitem(199)

        let Ende%=1

    elseif Menuitem(101)                 Numlock ein

        byte keyboardstate#,144=1
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(102)                 Numlock aus

        byte keyboardstate#,144=0
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(103)

        byte keyboardstate#,20=1           Caps Lock ein
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(104)

        byte keyboardstate#,20=0           Caps Lock aus
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(105)

        byte keyboardstate#,145=0          Scroll Lock ein
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(106)

        byte keyboardstate#,145=0          Scroll Lock aus
        setkeyboardstate(keyboardstate#)

    Endif

    KEYBOARDSTATUS
    setmenuitem 0

wend

dispose Keyboardstate#
end
 
15.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.407 Betrachtungen

Unbenanntvor 0 min.
AndreasS04.12.2018
ByteAttack30.08.2015
Ernst02.03.2015
Andre Rohland22.05.2014
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie