Seite 1 von 3
[Win7] Taskbar-Schaltfläche animieren
Verfasst: 06.11.2009 19:27
von RSBasic
Hallo,
ich verwende bereits Windows 7 und bin damit zufrieden.
Da gibt es ja auch neue Funktionen.
U.a.: Wenn ich eine Datei kopiere, dann öffnet sich ein Kopierfenster.
Was ja auch normal ist
Die Schaltfläche, die in der Taskleiste auftaucht, ist keine normale Schaltfläche, sondern diese ist beim Kopieren animiert:
Man kann hier genau sehen, wie weit der Kopiervorgang ist.
Weiß jemand, wie man das umsetzen kann?
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 06.11.2009 20:43
von DarkDragon
Hallo,
Leider muss ich dir sagen dass das wohl nur mit .NET geht. Ich finde absolut keine Zusatzfeatures von Windows 7 die man ohne .NET benutzen kann.
http://channel9.msdn.com/posts/GLenz/Wi ... gress-Bar/
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 06.11.2009 20:53
von RSBasic
Hallo,
DarkDragon hat geschrieben:[...] dass das wohl nur mit .NET geht [...]
Ah okay, daran habe ich garnicht gedacht.
Vielen Dank für deine Anwort.
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 06.11.2009 20:54
von ts-soft
Das kann leider nicht stimmen, weil mein Total Commander zeigt es genauso an und der ist in Delphi 3 programmiert, also weit weg von .NOT
Gruß
Thomas
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 01:05
von c4s
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 11:51
von DarkDragon
ts-soft hat geschrieben:
Das kann leider nicht stimmen, weil mein Total Commander zeigt es genauso an und der ist in Delphi 3 programmiert, also weit weg von .NOT
Gruß
Thomas
Es kann aber sein, dass da ne lib oder sowas drin ist die mit .NET geschrieben wurde. Vielleicht gehts aber auch mit COM oder wie das zeug heißt, weil da braucht man ein ITaskBar3 Objekt.
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 12:05
von ts-soft
Wie fast alle Neuerungen in Win 7 gibts das IMHO als COM-Object, ist also auch unter PB nutzbar,
wenn auch nicht unbedingt so einfach.
Direkt hierzu hab ich zwar keine Beispiele gesehen (hab auch garnicht gesucht

), aber
bei allem anderen sind neben .NOT auch C++ Beispiele aufgeführt.
Gruß
Thomas
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 13:46
von DarkDragon
ts-soft hat geschrieben:Wie fast alle Neuerungen in Win 7 gibts das IMHO als COM-Object, ist also auch unter PB nutzbar,
wenn auch nicht unbedingt so einfach.
Direkt hierzu hab ich zwar keine Beispiele gesehen (hab auch garnicht gesucht

), aber
bei allem anderen sind neben .NOT auch C++ Beispiele aufgeführt.
Gruß
Thomas
Jetzt bräuchte man nur eine richtige CLSID und IID_Taskbarlist. Ich finde nur falsche bzw CoCreateInstance wirft Class not found zurück.
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 17:07
von DarkDragon
Sorry für Doppelpost, ich will aber dass es jeder mitbekommt. Ich habs geschafft! Der Beispielcode ist noch alles andere als sauber aber es funktioniert
Code: Alles auswählen
; Author: DarkDragon
Interface ITaskbarList3 Extends ITaskbarList2
SetProgressValue(hWnd, Completed.q, Total.q)
SetProgressState(hWnd, Flags.l)
RegisterTab(hWndTab, hWndMDI)
UnregisterTab(hWndTab)
SetTabOrder(hWndTab, hwndInsertBefore)
SetTabActive(hWndTab, hWndMDI, dwReserved.l)
ThumbBarAddButtons(hWnd, cButtons, *pButtons)
ThumbBarUpdateButtons(hWnd, cButtons, *pButtons)
ThumbBarSetImageList(hWnd, himl)
SetOverlayIcon(hWnd, hIcon, pszDescription.s)
SetThumbnailTooltip(hWnd, pszTip.s)
SetThumbnailClip(hWnd, *prcClip.RECT)
EndInterface
#TBPF_NoProgress = $00
#TBPF_Indeterminate = $01
#TBPF_Normal = $02
#TBPF_Error = $04
#TBPF_Paused = $08
#CLSCTX_INPROC_SERVER = 1
#CLSCTX_LOCAL_SERVER = 4
#CLSCTX_SERVER = #CLSCTX_INPROC_SERVER | #CLSCTX_LOCAL_SERVER
OpenWindow(0, 10, 0, 300, 50, "Test")
CoInitialize_(0)
*tb.ITaskbarList3
ret = CoCreateInstance_(?CLSID_TaskbarList, 0, #CLSCTX_SERVER, ?IID_ITaskbarList, @*tb)
If ret = 0
*tb\SetProgressState(WindowID(0), #TBPF_Normal)
Else
Debug "Error:"
Debug ret
EndIf
i = 0
Repeat
i + 1
*tb\SetProgressValue(WindowID(0), i % 1000, 1000)
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Break
EndSelect
Delay(1)
ForEver
CoUninitialize_()
End
DataSection
CLSID_TaskbarList:
; 56FDF344-FD6D-11D0-958A-006097C9A090
Data.l $56FDF344
Data.w $FD6D, $11D0, $8A95
Data.b $00, $60, $97, $C9, $A0, $90
IID_ITaskbarList:
; {56FDF342-FD6D-11D0-958A-006097C9A090}
Data.l $56FDF342
Data.w $FD6D, $11D0, $8A95
Data.b $00, $60, $97, $C9, $A0, $90
EndDataSection
Da geht noch weitaus mehr wenn man sich da einarbeitet. Auch solche Buttons etc. macht man glaube ich damit ins Vorschaufenster.
[EDIT]
Code geupdated.
Re: [Win7] Taskbar-Schaltfläche animieren
Verfasst: 07.11.2009 18:26
von Kai
Stürzt bei mir leider sofort mit der Meldung 'Das mit dem Debugger getestete Executable endete unerwartet.' ab.
Windows 7 Ultimate x86