Español
Fuente/ Codesnippets

Capslock Numlock Scrollin Status Tastaturabfrage

 

KompilierenMarcaSeparación
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

disponer Keyboardstate#
end
 
15.07.2007  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.435 Views

Untitledvor 0 min.
AndreasS04.12.2018
ByteAttack30.08.2015
Ernst02.03.2015
Andre Rohland22.05.2014
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie