none
ProgressBar in der Taskleiste RRS feed

  • Frage

  • Wie kann ich einen Progressbar in der Taskleiste unter Windows 7 anzeigen?
    VisualCPlusPlus
    Mittwoch, 9. November 2011 21:12

Antworten

  • Im CodeProject ist auch zu dem Thema ein guter Artikel:

    http://www.codeproject.com/KB/vista/SevenGoodiesTaskbarStatus.aspx

     

    Donnerstag, 10. November 2011 06:02
  • > Wie kann ich einen Progressbar in der Taskleiste unter Windows 7 anzeigen?

    Willst Du das mit der MFC oder der Windows 7 API machen?

    Für die API (COM Version) findest Du Doku und Sample hier:
    http://msdn.microsoft.com/en-us/magazine/dd942846.aspx


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 9. November 2011 21:28
    Moderator
  • Sofern Du die MFC benutzt aus VS-2010 kannst Du direkt die Methoden in CFrameWnd verwenden.

    void CFrameWnd::SetProgressBarRange(int nRangeMin, int nRangeMax);
    void CFrameWnd::SetProgressBarPosition(int nProgressPos);
    void CFrameWnd::SetProgressBarState(TBPFLAG tbpFlags);
    
    
    

     


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 10. November 2011 07:19
    Moderator
  • Es sollte so gehen:

    
    CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList3, (void**)&ptl));
    

    In dem von mir verlinkten Artikel ist das ganze auch unter verwendung der MFC COM Klassen erklärt und ein Beispiel wäre auch downloadbar...

    • Als Antwort markiert KK Senior Sonntag, 13. November 2011 21:13
    Sonntag, 13. November 2011 18:00

Alle Antworten

  • > Wie kann ich einen Progressbar in der Taskleiste unter Windows 7 anzeigen?

    Willst Du das mit der MFC oder der Windows 7 API machen?

    Für die API (COM Version) findest Du Doku und Sample hier:
    http://msdn.microsoft.com/en-us/magazine/dd942846.aspx


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Mittwoch, 9. November 2011 21:28
    Moderator
  • Im CodeProject ist auch zu dem Thema ein guter Artikel:

    http://www.codeproject.com/KB/vista/SevenGoodiesTaskbarStatus.aspx

     

    Donnerstag, 10. November 2011 06:02
  • Sofern Du die MFC benutzt aus VS-2010 kannst Du direkt die Methoden in CFrameWnd verwenden.

    void CFrameWnd::SetProgressBarRange(int nRangeMin, int nRangeMax);
    void CFrameWnd::SetProgressBarPosition(int nProgressPos);
    void CFrameWnd::SetProgressBarState(TBPFLAG tbpFlags);
    
    
    

     


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 10. November 2011 07:19
    Moderator
  • Danke erstmal für die Antworten. Ich bekomme es aber irgendwie nicht hin...

    Ich habe einen MFC-Dialog und benutze VS2010. Nun habe ich in meiner Dialogklasse eine Variable definiert.

    ITaskbarList3* ptl;
    

    Wenn ich nun

    	HWND hmainwnd = GetSafeHwnd();
    	ptl->Release();
    	ptl->SetProgressState(hmainwnd, TBPF_NORMAL);
    	ptl->SetProgressValue(hmainwnd, 100, 50);
    
    aufrufe kommt der folgende Fehler:


    Im hintergrund ist die Haltestelle zu sehen. Sie ist in der Datei winocc.cpp.


    VisualCPlusPlus
    Donnerstag, 10. November 2011 14:39

  • HWND hmainwnd = GetSafeHwnd(); ptl->Release(); ptl->SetProgressState(hmainwnd, TBPF_NORMAL); ptl->SetProgressValue(hmainwnd, 100, 50);

    aufrufe kommt der folgende Fehler:

    Und wie erzeugst Du den Interface Zeiger? Hast Du die Links nicht gelesen, die Du bekommen hast? Das ist ein COM Objekt, dass hier erzeugt werden muss...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 10. November 2011 14:57
    Moderator
  • Also gut. Ich steh grade irgendwie auf dem Schlauch...

    Ich habe die Beiden verlinkten Seiten durchgelesen. Doch ich verstehs einfach nicht. Ich weiß auch nicht wie man ein COM Objekt erzeugt.
    VisualCPlusPlus
    Sonntag, 13. November 2011 17:28
  • Es sollte so gehen:

    
    CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList3, (void**)&ptl));
    

    In dem von mir verlinkten Artikel ist das ganze auch unter verwendung der MFC COM Klassen erklärt und ein Beispiel wäre auch downloadbar...

    • Als Antwort markiert KK Senior Sonntag, 13. November 2011 21:13
    Sonntag, 13. November 2011 18:00
  • Gut jetzt hab ichs verstanden, danke jetzt gehts.
    VisualCPlusPlus
    Sonntag, 13. November 2011 21:13