Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Kuvakkeen lisäys SystemTray:hin

Sivun loppuun

Tulilintu [22.08.2002 16:46:32]

#

Eli siis tässä on esimerkki miten lisätään kuva SystemTrayhin. Kuvekkaana toimii Form1.Icon. Luo formille neljä command buttonia.

Form

Option Explicit

Private Sub Command1_Click()
CreateIcon
End Sub

Private Sub Command2_Click()
DeleteIcon
End Sub

Private Sub Command3_Click()
ShowMessage "Tämä on esimerkki", "Esimerki", IconInfo
End Sub

Private Sub Command4_Click()
HideMessage
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    X = X / Screen.TwipsPerPixelX
    Select Case X
        Case WM_RBUTTON
            Caption = "Oikea"
        Case WM_LBUTTON
            Caption = "Vasen"
        Case WM_RBUTTONDBLCLK
            Caption = "Oikea tupla"
        Case WM_LBUTTONDBLCLK
            Caption = "Vasen tupla"
        Case WM_MOUSEMOVE
            Caption = "Hiiri liikkui"
    End Select
End Sub

Module

Option Explicit

Public endb As Boolean

Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Public Type NOTIFYICONDATA
    cbSize As Long
    hWnd As Long
    uID As Long
    uFlags As Long
    uCallbackMessage As Long
    hIcon As Long
    szTip As String * 128
    dwState As Long
    dwStateMask As Long
    szInfo As String * 256
    uTimeout As Long
    szInfoTitle As String * 64
    dwInfoFlags As Long
End Type

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const NIF_INFO = &H10

Private Const NIF_DOALL = NIF_MESSAGE Or NIF_ICON Or NIF_TIP

Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206

Public Enum ttIconType
    NoIcon = 0
    IconInfo = 1
    IconWarning = 2
    IconError = 3
End Enum
Public Tic As NOTIFYICONDATA

Public Sub CreateIcon()
    Tic.cbSize = Len(Tic)
    Tic.hWnd = Form1.hWnd
    Tic.uID = 1&
    Tic.uFlags = NIF_DOALL
    Tic.uCallbackMessage = WM_MOUSEMOVE
    Tic.hIcon = Form1.Icon
    Tic.szTip = "Esimerkki" & Chr$(0)
    Shell_NotifyIcon NIM_ADD, Tic
End Sub

Public Sub DeleteIcon()
    Dim Tic As NOTIFYICONDATA
    Tic.cbSize = Len(Tic)
    Tic.hWnd = Form1.hWnd
    Tic.uID = 1&
    Shell_NotifyIcon NIM_DELETE, Tic
End Sub

Public Sub ShowMessage(Message As String, Title As String, Icon As ttIconType)
    Dim lTipStyle As Long
    lTipStyle = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
    lTipStyle = lTipStyle Or NIF_INFO
    Tic.uFlags = lTipStyle
    Tic.szInfo = Message & Chr(0)
    Tic.szInfoTitle = Title & Chr(0)
    Tic.dwInfoFlags = Icon
    Shell_NotifyIcon NIM_MODIFY, Tic
End Sub

Public Sub HideMessage()
    Tic.szInfo = "" & Chr(0)
    Tic.szInfoTitle = "" & Chr(0)
    Shell_NotifyIcon NIM_MODIFY, Tic
End Sub

TH [24.08.2002 09:10:47]

#

Vihdoinkin tämmöinen! Olen odottanutkin! :) Koitan vähän myöhemmin..

Gwaur [17.02.2003 20:00:24]

#

Aika tyhmä kun tämmöstä pientä juttua varten pitää olla ihan hirveesti koodia

Bill Keltanen [24.09.2003 15:58:12]

#

Iha hyvä! Tommost oon ettinyki pari vuotta...

Monkkats [24.09.2003 18:37:11]

#

Tosi hyvä!

miiro [27.03.2004 17:26:38]

#

Jee vähä hyvä mut tota...miten sais tohon jonku valikon siis ku tuolt systeemitraysta painaa hiiren oikeel korval ni et tulis joku valikko tai ees joku msgboxi tulis...

tekojalka [26.05.2004 20:09:42]

#

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


VB:ni valittaa tuosta koodista

Happi [23.06.2004 11:18:09]

#

lainaus:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


VB:ni valittaa tuosta koodista

Sama täälä... Käytössä VB6

theman [03.08.2004 08:57:35]

#

voisko saada . net version

Meitsi [12.09.2004 20:04:38]

#

Hiano on!
EDIT: Saako tota käyttää suoraa omis ohjelmis vai pitääkö muokkaa? Epäilen ettei tarvitse muokata kun on ihan api:n perusjuttuja...

hohoo [19.09.2004 18:11:19]

#

Compile error: Variable not defined
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

WM_RBUTTON

Jeppejl [15.02.2005 12:42:45]

#

Miten tuolla formissa olevat

Case WM_RBUTTON
       Caption = "Oikea"
Case WM_LBUTTON
       Caption = "Vasen"

systeemit muka pitäis toimia??
Modulissa ei ole nimittäin määritelty ollenkaan tuommosia...

Jeppejl [19.02.2005 00:07:58]

#

Siis kyllähän ne saa toimimaan kun laittaa, mutta...

AdeRide [05.08.2005 16:47:04]

#

Miten saadaan laitettua niin, että sitten kun painaa SystemTray kuvaketta niin tapahtuu jotakin?

Jäynis [07.11.2005 22:10:17]

#

AdeRide: noin, vaihdat vain noihin Caption = "..." sen koodin mitä haluat tapahtuvan,

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    X = X / Screen.TwipsPerPixelX
    Select Case X
        Case WM_RBUTTON
            Caption = "Oikea"
        Case WM_LBUTTON
            Caption = "Vasen"
        Case WM_RBUTTONDBLCLK
            Caption = "Oikea tupla"
        Case WM_LBUTTONDBLCLK
            Caption = "Vasen tupla"
        Case WM_MOUSEMOVE
            Caption = "Hiiri liikkui"
    End Select
End Sub

Mutta voisiko joku valaista että mitä tekemistä hiiren X koordinaatilla on noiden hiirenpainallusten yms. kanssa?
Ei vaan jotenkin mahdu kalloon....

Basic 6.0 [29.06.2006 20:47:40]

#

Jos teillä tulee virheilmoitus:
Compile error: Variable not defined
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

tai jotain tuommoista vaihtakaa

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    X = X / Screen.TwipsPerPixelX
    Select Case X
        Case WM_RBUTTON
            Caption = "Oikea"
        Case WM_LBUTTON
            Caption = "Vasen"
        Case WM_RBUTTONDBLCLK
            Caption = "Oikea tupla"
        Case WM_LBUTTONDBLCLK
            Caption = "Vasen tupla"
        Case WM_MOUSEMOVE
            Caption = "Hiiri liikkui"
    End Select
End Sub

täksi:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    X = X / Screen.TwipsPerPixelX
    Select Case X
        Case WM_RBUTTONDOWN
            Caption = "Oikea"
        Case WM_LBUTTONDOWN
            Caption = "Vasen"
        Case WM_RBUTTONDBLCLK
            Caption = "Oikea tupla"
        Case WM_LBUTTONDBLCLK
            Caption = "Vasen tupla"
        Case WM_MOUSEMOVE
            Caption = "Hiiri liikkui"
    End Select
End Sub

Basic 6.0 [29.06.2006 20:55:38]

#

Jos sinulla on hiiri jossa on vieritysnappi, vaihda moduulin tämä osa:

Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206

täksi:

Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_SCROLLCLICK = &H207

niin saat skrollausnappiklikin. Se toimii WM_SCROLLCLICKillä. Toivottavasti tästä on apua. :)

JussiR [29.03.2010 12:24:51]

#

BASIC 6.0: tai sitten laittaa kummatkin toimimaan :o


----------------------------------

http://www.xtremevbtalk.com/showthread.php?t­=11582

Mulla olis myös jossain koodi, jolla saa valikonkin sinne.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta