Italia
Fonte/ Codesnippets

Abfragen Anlegen Trayicon

 
TrayIcon anlegen und abfragen von Andreas Miethe:
KompilierenMarkierenSeparieren
#######################
Thema : Tray-Icon
#######################
Andreas Miethe
August 2003
#######################
 $H windows.ph
 $H structs.ph
 $H messages.ph
 $H shellapi.ph
DEF &WM_SHELLNOTIFY  ~WM_USER + 5 shell notify message
DEF &uID 7777
Struct Point = ~Point
Struct Note  = ~NOTIFYICONDATA
Declare Point#,TB_CREATED&
Declare Ende&,Note#,Tip$
SetTrueColor 1
Window %maxx,0 - 640,480Fenster neben den Bildschirm
CLS ~GetSysColor(~COLOR_BTNFACE)
~ShowWindow(%hwnd,~SW_HIDE)Fenster verbergen
~SetWindowPos(%hwnd,0,0,0,640,480,OR(~SWP_NOREDRAW,~SWP_NOACTIVATE))neue Position
Dim Note#,Note
Clear Note#
Note#.cbSize&           = sizeof(Note#)
Note#.hWnd&             = %hwnd
Note#.uID&              = &uID
Note#.hIcon&            = ~LoadIcon(%hInstance,A)
Note#.uFlags&           = Or(Or(~NIF_ICON,~NIF_TIP),~NIF_MESSAGE)
Note#.uCallbackMessage& = &WM_SHELLNOTIFY
Note#.szTip#            =  Tray-Icon Demo
~Shell_NotifyIcon(~NIM_ADD, Note#)
TB_CREATED& = ~RegisterWindowMessage(IconCreated)
UserMessages &WM_SHELLNOTIFY,TB_CREATED&,~WM_CLOSE

Whilenot Ende&

    Waitinput

    If ~IsIconic(%hwnd)Fenster minimiert ??

        ~ShowWindow(%hwnd,~SW_HIDE)

    Endif

    If %UMessage = ~WM_CLOSE

        ~Shell_NotifyIcon(~NIM_DELETE,Note#)
        Ende& = 1

    Endif

    If %UMessage = TB_CREATED&Explorer-Crash. Icon neu anlegen

        ~Shell_NotifyIcon(~NIM_ADD,Note#)

    Endif

    If %UMessage = &WM_SHELLNOTIFY

        If &ULParam = ~WM_RBUTTONDOWNrechter Mausbutton

            ~SetForegroundWindow(%hWnd)
            Dim Point#,Point
            CreateMenu
            AppendMenu 100,Fenster verbergen
            AppendMenu 101,Fenster zeigen
            Separator
            AppendMenu 102,Ende
            ~GetCursorPos(Point#)
            ~MapWindowPoints(%Desktop,%hwnd,Point#,1)
            Trackmenu Point#.x&,Point#.y&
            Dispose Point#

        Endif

        If &ULParam = ~WM_LBUTTONDOWNlinker Mausbutton

            ~SetForegroundWindow(%hWnd)
            Dim Point#,Point
            CreateMenu
            AppendMenu 200,Linker Button 1
            AppendMenu 201,Linker Button 2
            Separator
            AppendMenu 202,Linker Button 3
            ~GetCursorPos(Point#)
            ~MapWindowPoints(%Desktop,%hwnd,Point#,1)
            Trackmenu Point#.x&,Point#.y&
            Dispose Point#

        Endif

    Endif

    If MenuItem(100)

        ~ShowWindow(%hwnd,~SW_HIDE)

    ElseIf Menuitem(101)

        SendMessage(%hwnd,~WM_SYSCOMMAND,~SC_RESTORE,0)

    ElseIf Menuitem(102)

        ~Shell_NotifyIcon(~NIM_DELETE,Note#)
        Ende& = 1

    Endif

Wend

Salve, iF.
 
01.07.2005  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.844 Views

Untitledvor 0 min.
H.Brill03.08.2024
Wolle4902.04.2015
Heltal23.01.2015
boh126.11.2014
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

iF (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie