Español
Fuente/ Codesnippets

Ablegen Eigene Icon Programa Systray Tray

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Tray-Icon für das eigene Programm im Systray ablegen
linke Maustaste: Auswahl
rechte Maustaste: Programmfenster zeigen bzw. Programm beenden
#######################
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

 
15.07.2007  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.874 Views

Untitledvor 0 min.
Georg Teles27.10.2024
Alibre18.11.2017
Kermit27.04.2016
Torsten Boo11.08.2013
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie