Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Minimalizacja aplikacji w polu systemowym
anonim




Typ: Nie zarejestrowany
Minimalizacja aplikacji w polu systemowym

Czy w VB5 istnieje możliwość zrzucenia aplikacji do ikony w polu systemowym (obok zegara za pomocą: 1) buttonu 2) przycisku na pasku controlbox

24-06-2004 10:40
  
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

1) obok zegara
command1 -sluzy w tym wypadku do wywolania tray'a
musisz jeszcze sworzyc picturebox o nazwie picTrayObject
dodac w projekcie modul z zawartoscia :
=================
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_NORMAL = 1
=================
a pozostal kod na formie to :
=================
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Private Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Dim TrayIcon As NOTIFYICONDATA

'Dane dla struktury i funkcji Shell_NotifyIcon
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

'Komunikaty Windowsa
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205

Private Sub Command1_Click()
Shell_NotifyIcon NIM_ADD, TrayIcon 'Aktywujemy ikonę w SystemTray
Form1.Hide 'Ukrywamy formę
End Sub

Private Sub Form_Load()
'tray
With TrayIcon
.cbSize = Len(TrayIcon)
.hwnd = picTrayObject.hwnd
.uId = 1&
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.ucallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon 'Ikona formularza
.szTip = ""
End With
'koniec traya
End Sub

Private Sub picTrayObject_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static bCnt As Boolean, lngOpcja As Long 'Deklarujemy potrzebne zmienne
lngOpcja = X / Screen.TwipsPerPixelX '"wydobywamy" numer zdarzenia

If bCnt = False Then
bCnt = True

Select Case lngOpcja 'Sprawdzamy, które zdarzenie wystąpiło
Case WM_LBUTTONDBLCLK 'Podwójne kliknięcie lewego przycisku myszki na ikonce

  Form1.Show
  Shell_NotifyIcon NIM_DELETE, TrayIcon 'Usuwamy ikonę z SystemTray
 

Case WM_LBUTTONDOWN 'Lewy przycisk myszki w dół
Case WM_LBUTTONUP: 'Lewy przycisk myszki w górę
Case WM_RBUTTONDBLCLK 'Podwójne kliknięcie prawym przyciskiem na ikonce
Case WM_RBUTTONDOWN 'Prawy przycisk myszy w dół
Case WM_RBUTTONUP 'Prawy przycisk myszy w górę
End Select

bCnt = False
End If
End Sub
==============================
przywrocenie programu z tray'a bedziesz mial gdy klikniesz na ikone programu(ktora jest pobierana z formatki glownej)lewym przyciskiem
mam nadzieje ze pomoglem cos...
pozdro

24-06-2004 11:11
Pokaż profil deywid  Wyślij email do deywid        5625009
deywid



Typ: neutral
Postów: 66
Zarejestrowany: Jan 2004

a w drugim przypadku jezeli chodzi ci o pasek szybkiego dostepu przy "Starcie" to wystarczy dodac skrót.. do katalogu ...\Internet Explorer\Quick Launch\ i bedziesz mial chyba to o co chodzi...
mam nadzieje

24-06-2004 11:26
Pokaż profil deywid  Wyślij email do deywid        5625009
anonim




Typ: Nie zarejestrowany

No przez button działa OKI (a czy można zmniejszyć długość pola TIP, które pojawia się po najechaniu myszą na ikonkę wyświetlaną w SYSTRAY'u?) A w drugim przypadku chodziło mi o dodatkową ikonkę z kropką na formie przy 'zamknij', 'przywróć' i 'minimalizuj' (coś jak w GetRight). Dzięki za pomoc.

24-06-2004 12:37
  
anonim




Typ: Nie zarejestrowany

szTip As String * XX
gdzie XX to liczba znakow jaka przypiszesz zmiennej w sekcji .szTip = " "
pozdro

24-06-2004 13:09
  
anonim




Typ: Nie zarejestrowany

Ikona w podanym przypadku wystepuje tylko w dwóch kolorach. Wiecie może dlaczego?

25-06-2004 07:12
  
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Jeżeli chcesz dynamicznie zmieniac długoś pola w którym masz ToolTipText to muszisz skorzystać z Private Const NIM_MODIFY jak zapewne zauważyłeś deywid użył Shell_NotifyIcon z parametrem NIM_ADD jezlei chesz zmeinic jej zawartosc najpierw ustalasz zmienione informacje np:
With TrayIcon
.cbSize = Len(TrayIcon)
.hwnd = picTrayObject.hwnd
.uId = 1&
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.ucallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon 'Nowa ikona
.szTip = "Nowa wiadomosc"
End With
' i potem piszesz:
Shell_NotifyIcon NIM_MODIFY, TrayIcon

Poszukaj jeszcze innych postów na ten temat napewno dużo się dowiesz (pamiętam że bisiek umieszczał już obrobiony kod do umieszczania ikony w tray-u) prawdopodobnie nie zajrzałeś do działu workshop a znalazł byś tam działający przykład dotyczący zaobnika systemowego http://www.coderscity.pl/no-vb4all/workshop/systray.zip Nie chce być nie miły ale jak byk widać opis tego programu na stronie głównej po lewej stronie w cześci polecam. Powodzenia
Pozdrawiam
Andrzej

[Post edytowany dnia 25-06-2004 09:11 przez andrey]


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

25-06-2004 09:10
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1