Banner Access
Tekst informacyjny o polityce Cookies Close   

Funkcja SendMessage (...) - Opis niektórych argumentów tej funkcji.

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal Msg As Long, _
wParam As Any, lParam As Any) As Long

Funkcja SendMessage zwraca wartości w zależności od argumentu Msg

separator Const BM_CLICK = &HF5
Powoduje efekt kliknięcia przycisku (kontrolki) o uchwycie hWind
wParam = 0 ' nieużywany
lParam = 0 ' nieużywany

lRet = SendMessage(hWind, BM_CLICK, ByVal 0&, ByVal 0&)

separator Const BM_GETCHECK = &HF0
Dla przycisków typu:
BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON, lub BS_3STATE - zwraca stan tych przycisków.
Dla przycisków innego typu zwraca ZERO

wParam = 0 ' nieużywany
lParam = 0 ' nieużywany
Const BST_UNCHECKED = &H0przycisk nie jest zaznaczony
Const BST_CHECKED = &H1przycisk jest zaznaczony
Const BST_INDETERMINATE = &H2stan nieokreślony (szary) - dla przycisku trójstanowego
BS_3STATE lub BS_AUTO3STATE

lRet = SendMessage(hWind, BM_GETCHECK, ByVal 0&, ByVal 0&)

separator Const BM_SETCHECK = &HF1
Dla przycisku typu CheckBox lub RadioButton o uchwycie hwind - ustawia stan przycisku.
Zawsze zwraca ZERO

wParam = fCheck
lParam = 0 ' nieużywany
Const BST_UNCHECKED = &H0przycisk nie jest zaznaczony
Const BST_CHECKED = &H1przycisk jest zaznaczony
Const BST_INDETERMINATE = &H2stan nieokreślony (szary) - dla przycisku trójstanowego
BS_3STATE lub BS_AUTO3STATE

lRet = SendMessage(hWind, BM_SETCHECK, BST_CHECKED , ByVal 0&)

separator Const BM_GETSTATE = &HF2
Przyciski wszystkich typów - zwraca kombinację poniższych stałych stanu przycisku
wParam = 0 ' nieużywany
lParam = 0 ' nieużywany
Const BST_UNCHECKED = &0przycisk nie jest zaznaczony
Const BST_CHECKED =&1przycisk jest zaznaczony
Const BST_INDETERMINATE = &2stan nieokreślony (szary) - dla przycisku trójstanowego
BS_3STATE lub BS_AUTO3STATE
Const BST_PUSHED = &H4wciśnięty            If lRet And BST_PUSHED = TRUE
Const BST_FOCUS = &H8posiada fokus     If lRet And BST_FOCUS = TRUE

lRet = SendMessage(hWind, BM_GETSTATE, ByVal 0&, ByVal 0&)

separator Const BM_SETSTATE = &HF4
Przycisk typu CommandButton - ustawia wygląd przycisku. Zawsze zwraca ZERO.
wParam = fState - stan podświetlenia
lParam = 0 ' nieużywany
fState = False - przycisk jest w stanie normalnym (nie wciśnięty),
fState = True - przycisk zostaje wciśnięty. EFEKT TYLKO WIZUALNY. Nie jest wywoływane zadne zdarzenie

lRet = SendMessage(hWind, BM_SETSTATE, ByVal fState, ByVal 0&)

separator Const CB_GETLBTEXTLEN = &H149
Zwraca długość tekstu w wyszczególnionej pozycji listy (bez znaku końca stringu - vbNullChar).
Przy niepowodzeniu zwraca CB_ERR = (-1)

wParam - indeks pozycji listy
Param = 0 ' nieużywany

lBf = SendMessage(hWind, CB_GETLBTEXTLEN, ByVal Index, ByVal 0&)

separator Const CB_GETLBTEXT = &H148
Zwraca długość tekstu pozycji listy (bez znaku końca stringu - vbNullChar), a w argumencie ByRef (buforze) sBfText tekst okna
Przy niepowodzeniu zwraca CB_ERR = (-1)

wParam - indeks pozycji listy
lParam - wskaźnik do buforu tekstu
' przygotuj bufor tekstu
sBfText = String(lBf +1, vbNullChar)
lRet = SendMessage (hWind, CB_GETLBTEXT, ByVal Index, ByVal sBfText)
sBfText = Left$(sBfText , lRet)
separator Const CB_GETCOUNT = &H146
Zwraca liczbę pozycji w polu listy, przy niepowodzeniu CB_ERR = (-1)
wParam = ' nieużywany
lParam = ' nieużywany

lRet = SendMessage (hWind, CB_GETCOUNT, ByVal 0&, ByVal 0&)

separator Const CB_SELECTSTRING = &H14D
Zaznacza (wybiera pozycję listy) - zwraca indeks pozycji, przy niepowodzeniu CB_ERR = (-1)
wParam - indeks pozycji startowej do przeszukiwania.
Dla wParam = -1 przeszukiwanie rozpoczyna się od pozycji początkowej
lParam - wskaźnik do poszukiwanego stringu - tekstu pozycji listy.

lRet = SendMessage(hWind, CB_SELECTSTRING, ByVal -1, ByVal sBfText)

separator Private Const WM_CLOSE = &H10
Powoduje zamknięcie okna o uchwyciw hWind
wParam = 0 ' nieużywany
lParam = 0 ' nieużywany

lRet = SendMessage(hWind, WM_CLOSE, ByVal 0&, ByVal 0&)

separator Const WM_GETTEXTLENGTH = &HE
Zwraca długość tekstu okna hWind. (Nie jest uwzględniany znaku końca stringu - vbNullChar)
wParam = 0 ' nieużywany
lParam = 0 ' nieużywany

lBf = SendMessage(hWind, WM_GETTEXTLENGTH, ByVal 0, ByVal 0)

separator Const WM_GETTEXT = &HD
Zwraca liczbę znaków tekstu okna, a w argumencie ByRef (buforze) sBfText tekst okna
wParam - liczba znaków do skopiowania
lParam - wskaźnik do buforu tekstu
' przygotuj bufor tekstu
sBfText = String(lBf +1, vbNullChar)
lRet = SendMessage(hWind, WM_GETTEXT, ByVal lBf, ByVal sBfText)
sBfText = Left$( sBfText , lRet)
separator Const WM_SETTEXT = &HC
Ustawia tekst okna o uchwycie hWind. Przy powodzeniu zwraca TRUE, w przeciwnym wypadku FALSE
wParam = 0 ' nieużywany
lParam - wskaźnik do ciągu znaków zawierającymprzekazywany tekst okna.

lRet = SendMessage(hWind, WM_SETTEXT, ByVal 0&, ByVal sTitleWind)

separator Const WM_SETREDRAW = &HB
W zależności od parametru fRedraw zezwala, lub nie, na przemalowanie obszaru okna o uchwycie hWind. Można używać w niektórych przypadkach do blokady odswieżania okien
wParam = fRedraw
lParam = 0 ' nieużywany
fRedraw - wartośc parametru wParam
True - zezwala na przemalowania okna
False - nie zezwala na aktualizacje okna

lRet = SendMessage(hWind, WM_SETREDRAW, ByVal False, ByVal 0&)