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 SubModule
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 SubVihdoinkin tämmöinen! Olen odottanutkin! :) Koitan vähän myöhemmin..
Aika tyhmä kun tämmöstä pientä juttua varten pitää olla ihan hirveesti koodia
Iha hyvä! Tommost oon ettinyki pari vuotta...
Tosi hyvä!
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...
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
VB:ni valittaa tuosta koodista
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
voisko saada . net version
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...
Compile error: Variable not defined
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
WM_RBUTTON
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...
Siis kyllähän ne saa toimimaan kun laittaa, mutta...
Miten saadaan laitettua niin, että sitten kun painaa SystemTray kuvaketta niin tapahtuu jotakin?
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 SubMutta voisiko joku valaista että mitä tekemistä hiiren X koordinaatilla on noiden hiirenpainallusten yms. kanssa?
Ei vaan jotenkin mahdu kalloon....
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 Subtä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 SubJos 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. :)
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.