| |
|
|
| RGH
Und hier para todos Mitleser, el wissen querer, cómo überhaupt Anwendungen para el Systemtray de Windows en XProfan programmiert, una komplettes Beispiellisting con TrayIcon-Menü y Bildern en demselben: Declarar Hicon&,Ende%,Show%
Declarar Checkmerker%,Menuhandle&
Declarar hbmChecked&,hbmUnchecked&
DEF SetMenuItemBitmaps(5) !USER32,SetMenuItemBitmaps
Proc Ico2SizedBmp
Parámetros Icon&, dx&, dy&
Weiße temporäre Mapa de bits en Größe 32 * 32 erzeugen
Var TempBmp& = Crear(hNewPic, 32, 32, RGB(255,255,255))
Auf esta Mapa de bits el Icon dibujar
StartPaint TempBmp&
DrawIcon Icon&, 0, 0
EndPaint
Weiße Mapa de bits en Größe dx& * dy& erzeugen
Var IBmp& = Crear(hNewPic, dx&, dy&, RGB(255,255,255))
Auf esta Mapa de bits el temporäre Mapa de bits verkleinert dibujar
StartPaint IBmp&
DrawSizedPic TempBmp&, 0, 0 - dx&, dy&; 0
EndPaint
DeleteObject TempBmp&
Volver IBmp&
ENDPROC
Proc Menue
CreateMenu
AppendMenu 101, &Info
AppendMenu 102, &deaktiviert
SetMenuItemBitmaps(&hMenu,102,$10,hbmChecked&,hbmUnChecked&) Menu-Grafik ändern...
AppendMenu 106, Ventana principal &sichtbar
SetMenuItemBitmaps(&hMenu,106,$10,hbmChecked&,hbmUnChecked&) Menu-Grafik ändern...
AppendMenu 104, -
AppendMenu 103, &Beenden
CheckMenu 106, Show%
CheckMenu 102, Checkmerker%
Volver @TrackMenu()
ENDPROC
Windowstyle 26 + 512
Título de la ventana TrayIcon_Test
Ventana 0,0-640,480
@ShowWindow(%hWnd,0)
Hicon& = @create(hIcon,Profano)
hbmChecked& = Ico2SizedBmp(@create(hIcon, A),13,13)
hbmUnChecked& = Ico2SizedBmp(@create(hIcon, Baum),13,13)
@TrayIcon(Add, %hWnd, 1, hIcon&, TrayIcon 11)
Sinestar encargado Ende%
Waitinput
If @TrayIcon(Msg, 1) = $203 Haga doble clic en links
Ende%=1
Elseif @TrayIcon(Msg, 1) = $204 Rechter Mausbutton gedrückt
@SetActiveWindow(%hWnd)
Menue()
If (%MenuItem = 102)
Checkmerker% = @Not(Checkmerker%) Zustandsänderung merken...
If Checkmerker% = 0
Hicon& = @create(hIcon, A)
@TrayIcon(SetIcon, %hWnd, 1, hIcon&)
Más
Hicon& = @create(hIcon, Baum)
@TrayIcon(SetIcon, %hWnd, 1, hIcon&)
EndIf
Setmenuitem 0
ElseIf (%MenuItem = 101)
@Messagebox(Programmiert en XProfan 11,Referencia,64)
Setmenuitem 0
ElseIf (%MenuItem = 103)
Ende%=1
ElseIf (%MenuItem = 106)
Show% = @Not(Show%)
@Showwindow(%hWnd,Show%)
Setmenuitem 0
EndIf
Endif
Endwhile
@TrayIcon(Delete, %hWnd, 1)
End
Saludo Roland |
|
|
| |
|
|