HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Üzenetek figyelése, kezelése


Példaprogram letöltése

5816 bájt

Egy-egy alkalmazás a futása során számtalan Windows üzenetet kap. E cikkben azt vizsgáljuk, hogy miként tudjuk figyelni, hogy milyen üzenetek érkeznek alkalmazásunkhoz, illetve miként tudnánk befolyásolni ezek hatását.

Az üzenetek figyeléséhez szükségünk lesz egy új osztályra, melyben implementáljuk az IMessageFilter interfészt. Ennek egyetlen függvénye van, a PreFilterMessage. Ez minden olyan esetben meghívásra kerül, ha alkalmazásunk üzenetet kap. Paraméterként egy Message nevű struktúrát kapunk, melyből megtudhatjuk az üzenet tartalmát. E struktúrában rendelkezésünkre áll egy Msg, LParam, WParam property, mely az üzenet tulajdonságairól tájékoztat bennünket.
Ha e függvény visszatérési értéke igaz lenne, akkor az alkalmazásunk már nem kapja meg ezt az üzenetet. Ezt felhasználva befolyásolhatjuk, hogy milyen üzenetek kerüljenek az alkalmazásunk által feldolgozásra. Továbbá azt se felejtsük el, hogy a függvény paramétere ref típusú, tehát annak értékeit megváltoztathatjuk, így egy létrejött üzenetnek akár más paramétereket is adhatunk.
Mellékelt példában csak annyit teszünk, hogy egy ListBox-ba folyamatosan megjelenítjük az üzeneteket, kiszűrve a listából az egér mozgására vonatkozókat, mivel ebből lenne a legtöbb.
Public Class MessageViewer
  Implements IMessageFilter
  Private listBox As ListBox
  Public Sub New(ByVal l As ListBox)
    listBox = l
  End Sub 'New
  Public Function PreFilterMessage(ByRef m As Message) As Boolean Implements IMessageFilter.PreFilterMessage
    If m.Msg <> &H200 AndAlso m.Msg <> &HA0 Then
      listBox.SelectedIndex = listBox.Items.Add(m.ToString())
    End If
    Return False
  End Function 'PreFilterMessage
End Class 'MessageViewer
Az osztályunk elkészítése önmagában még nem hozna eredményt, ezt hozzá is kell adnunk az Application osztály AddMessageFilter függvényének segítségével.
    Application.AddMessageFilter(New MessageViewer(listBox1))

Cikksorozat

#IDKategóriaCikk címeSorozat
4397Windows.NET Framework konfigurálása az operációs rendszerben1. rész
4446Windows.NET Framework konfigurációs snap-in2. rész


Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |