GetFocus

Tato funkce vrací "handle"(hWnd) právě aktivního(focus) prvku.¨

Deklarace:
Declare Function GetFocus Lib "user32" () As Long


GetKeyState

Funkce vrací momentální stav kterékoliv klávesy. 0 nebo 1 podle toho zda
daná klávesa byla nebo nebyla stisknuta. Snadno lze takto detekovat např. "Caps Lock".

Parametry funkce:
nVirtKey

konstanta klávesy

Deklarace:
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Zde je kompletní výpis všech kláves:

Konstanta Hodnota Popis

vbKeyLButton
    0x1    Levé tlačítko myši
vbKeyRButton
    0x2    Pravé tlačítko myši
vbKeyCancel
    0x3    Klávesa CANCEL
vbKeyMButton     0x4   
 Prostřední tlačítko myši
vbKeyBack     0x8   
 Klávesa BACKSPACE
vbKeyTab     0x9   
 Klávesa TAB
vbKeyClear     0xC   
 Klávesa CLEAR
vbKeyReturn     0xD   
 Klávesa ENTER
vbKeyShift     0x10   
 Klávesa SHIFT
vbKeyControl     0x11   
 Klávesa CTRL
vbKeyMenu     0x12   
 Klávesa MENU
vbKeyPause     0x13   
 Klávesa PAUSE
vbKeyCapital     0x14   
 Klávesa CAPS LOCK
vbKeyEscape     0x1B   
 Klávesa ESC
vbKeySpace     0x20   
 Klávesa MEZERNÍK
vbKeyPageUp     0x21   
 Klávesa PAGE UP
vbKeyPageDown     0x22   
 Klávesa PAGE DOWN
vbKeyEnd     0x23   
 Klávesa END
vbKeyHome     0x24   
 Klávesa HOME
vbKeyLeft     0x25   
 Klávesa ŠIPKA VLEVO
vbKeyUp     0x26   
 Klávesa ŠIPKA NAHORU
vbKeyRight     0x27   
 Klávesa ŠIPKA VPRAVO
vbKeyDown     0x28   
 Klávesa ŠIPKA DOLŮ
vbKeySelect     0x29   
 Klávesa SELECT
vbKeyPrint     0x2A   
 Klávesa PRINT SCREEN
vbKeyExecute     0x2B   
 Klávesa EXECUTE
vbKeySnapshot     0x2C   
 Klávesa SNAPSHOT
vbKeyInsert     0x2D   
 Klávesa INSERT
vbKeyDelete     0x2E   
 Klávesa DELETE
vbKeyHelp     0x2F   
 Klávesa HELP
vbKeyNumlock     0x90   
 Klávesa NUM LOCK

Konstanty kláves A až Z odpovídají ekvivalentům ASCII:

Konstanta  Hodnota  Popis

vbKeyA     65   
 Klávesa A
vbKeyB     66   
 Klávesa B
vbKeyC     67    
Klávesa C
vbKeyD     68    
Klávesa D
vbKeyE     69    
Klávesa E
vbKeyF     70    
Klávesa F
vbKeyG     71    
Klávesa G
vbKeyH     72    
Klávesa H
vbKeyI     73    
Klávesa I
vbKeyJ     74    
Klávesa J
vbKeyK     75    
Klávesa K
vbKeyL     76
     Klávesa L
vbKeyM     77    
Klávesa M
vbKeyN     78    
Klávesa N
vbKeyO     79
     Klávesa O
vbKeyP     80    
Klávesa P
vbKeyQ     81    
Klávesa Q
vbKeyR     82    
Klávesa R
vbKeyS     83    
Klávesa S
vbKeyT     84    
Klávesa T
vbKeyU     85    
Klávesa U
vbKeyV     86
     Klávesa V
vbKeyW     87    
Klávesa W
vbKeyX     88    
Klávesa X
vbKeyY     89    
Klávesa Y
vbKeyZ     90    
Klávesa Z

Konstanty kláves 0 až 9 odpovídají ekvivalentům ASCII:

Konstanta  Hodnota  Popis

vbKey0     48    
Klávesa 0
vbKey1     49    
Klávesa 1
vbKey2     50    
Klávesa 2
vbKey3     51    
Klávesa 3
vbKey4     52
     Klávesa 4
vbKey5     53
     Klávesa 5
vbKey6     54    
Klávesa 6
vbKey7     55    
Klávesa 7
vbKey8     56    
Klávesa 8
vbKey9     57    
Klávesa 9

Následující konstanty odpovídají klávesám na numerické klávesnici:

Konstanta  Hodnota  Popis

vbKeyNumpad0     0x60
     Klávesa 0
vbKeyNumpad1     0x61
     Klávesa 1
vbKeyNumpad2     0x62
     Klávesa 2
vbKeyNumpad3     0x63   
 Klávesa 3
vbKeyNumpad4     0x64
     Klávesa 4
vbKeyNumpad5     0x65
     Klávesa 5
vbKeyNumpad6     0x66
     Klávesa 6
vbKeyNumpad7     0x67
     Klávesa 7
vbKeyNumpad8     0x68
     Klávesa 8
vbKeyNumpad9     0x69
     Klávesa 9
vbKeyMultiply     0x6A
     Klávesa NÁSOBENÍ (*)
vbKeyAdd     0x6B
     Klávesa PLUS (+)
vbKeySeparator     0x6C
     Klávesa ENTER
vbKeySubtract     0x6D
     Klávesa MÍNUS (–)
vbKeyDecimal     0x6E
     Klávesa DESETINNÁ ČÁRKA (,)
vbKeyDivide     0x6F
     Klávesa LOMENO (/)

Následující konstanty funkčním klávesám:

Konstanta  Hodnota  Popis

vbKeyF1     0x70
     Klávesa F1
vbKeyF2     0x71
     Klávesa F2
vbKeyF3     0x72
     Klávesa F3
vbKeyF4     0x73
     Klávesa F4
vbKeyF5     0x74
     Klávesa F5
vbKeyF6     0x75
     Klávesa F6
vbKeyF7     0x76
     Klávesa F7
vbKeyF8     0x77
     Klávesa F8
vbKeyF9     0x78
     Klávesa F9
vbKeyF10     0x79
     Klávesa F10
vbKeyF11     0x7A
     Klávesa F11
vbKeyF12     0x7B
     Klávesa F12
vbKeyF13     0x7C
     Klávesa F13
vbKeyF14     0x7D
     Klávesa F14
vbKeyF15     0x7E
     Klávesa F15
vbKeyF16     0x7F
     Klávesa F16


SetPixel, GetPixel

Funkce "SetPixel" vám umožní nastavit libovolnou barvu jednoho pixelu na objektu, pokud znáte jeho "handle".
Pomocí této funkce lze vytvořit velice efektní "Progress bar", proto malá ukázka.

Parametry funkce:
hdc
manipulátor kontextu zařízení
x
pozice pixelu ve vodorovné ose
y
pozice pixelu ve svislé ose
crColor
hodnota barevného odstínu vyjádřená číslicí

Deklarace:
Declare Function SetPixel Lib "gdi32" _
(ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long

Použití:
For j = 1 To 200
For m = 0 To 20
SetPixel Form1.hdc, j + 1, m + 1, j + 1
Next
Next

A samozřejmně funkce "GetPixel" vám zase vrátí hodnotu barvy libovolného pixelu na objektu, pokud znáte jeho "handle".

Deklarace:
Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Použití:
to snad ani není třeba :)

© 2005 Jindřich Mach & Jan Ticháček