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 :mrgreen:

Die Schaltfläche, die in der Taskleiste auftaucht, ist keine normale Schaltfläche, sondern diese ist beim Kopieren animiert:
Bild

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
DarkDragon hat geschrieben: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/
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
Hier sind Beispielcodes:
http://weblogs.asp.net/sergeyzwezdin/ar ... s-bar.aspx
http://windowsteamblog.com/blogs/develo ... -bars.aspx

Und sofern ich das richtig erkenne, wird da von .NET gesprochen...

Re: [Win7] Taskbar-Schaltfläche animieren

Verfasst: 07.11.2009 11:51
von DarkDragon
ts-soft hat geschrieben:
DarkDragon hat geschrieben: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/
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 :mrgreen: ), 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 :mrgreen: ), 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