Kleines Icon neben der Uhr



  • Hallo,
    ich weis das folgendes in irgendeiner Form schon mal im Forum angesprochen wurde, aber ich finde es einfach nicht.
    Zu meiner Frage: Wie kann ich es bewerkstelligen das, wenn ich auf Minimieren klicke, das Symbol der Anwendung unten neben der Uhr landet statt in der Taskleiste? Und wenn ich dann unten wieder auf das Symbol klicke das das Programm wieder nach oben kommt?

    MfG Herbert



  • Wie man es genau macht kann ich dir auch nicht sagen, aber auf dieser Seite

    http://www.winapi.net/index.php?inhalt=downloads

    gibt es ein Programm namens Thumbnail, in dem auch ein Symbol neben der Uhr vorkommt.
    Vielleicht hilft es dir ja weiter.



  • Lad dir von meiner Homepage die CTrayIcon-Klasse runter. Damit geht's ganz einfach. Da gibts auch ne Readme zu (im ZIP-File enthalten). Es ist auch kein Problem, damit Balloon-Tooltips anzuzeigen (trayIcon->ShowBalloon(...)).



  • merkt dir gleich mal die Adresse www.codeproject.com - da sind auch einige Beispiele zu finden, die zeigen wie man so etwas realisiert - Suchbegriff: "Tray Icon"



  • Danke für eure Antworten. Hat mir sehr geholfen



  • ja ich hab das ganze auch schonmal irgendwo hier gelesen...

    Aber das wärn Fall für die FAQ (falls es nicht schon dadrin is...)



  • Nope... dafür müsste hier jemand mal nen ganz sauber und schön erklärten Code reinsetzen... ich hab imo leider dafür keine Zeit 😞



  • (D)Evil schrieb:

    Dafür müsste hier jemand mal nen ganz sauber und schön erklärten Code reinsetzen...

    LRESULT CALLBACK AppWndProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam)
    {
       static CTrayIcon* TrayIcon;
    
       switch(uiMsg)
       {
          case WM_CREATE:
             // Create the tray icon
             TrayIcon = new CTrayIcon(((LPCREATESTRUCT)lParam)->hInstance,
                                      hwnd,
                                      ID_ICO_MYICON, // Die in der Resource definierte Konstante für das Icon
                                      TEXT("My Tool Tip Text")
                                     );
             // Set a new popup menu
             TrayIcon->SetPopupMenu(ID_MENU, 0);
             return 0;
    
          case WM_COMMAND:
             switch(LOWORD(wParam))  // Switch between control IDs
             {
                // The menu item "Show" was clicked
                case ID_MI_SHOW:
                   SendMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0);
                   break;
    
                // The menu item "Show Balloon" was clicked
                case ID_MI_SHOWBALLOON:
                   TrayIcon->ShowBalloon(TEXT("BalloonTitle"), TEXT("BalloonInfo"), 2000, NIIF_USER);
                   break;
    
                // The menu item "Exit" was clicked
                case ID_MI_EXIT:
                   SendMessage(hwnd, WM_CLOSE, 0, 0);
                   break;
             }
             return 0;
    
          case WM_SYSCOMMAND:
             if(wParam == SC_MINIMIZE)     // The main window shall be minimized
             {
                TrayIcon->Show();          // Show the tray icon
                ShowWindow(hwnd, SW_HIDE); // Hide the main window
                return 0;
             }
             if(wParam == SC_RESTORE)      // The main window shall be restored
             {
                TrayIcon->Hide();          // Hide the tray icon
                SetForegroundWindow(hwnd); // Show main window and put it on the top of the Z order
             }
             break;
    
          // A mouse action was performed over the tray icon
          case WM_TRAYMESSAGE:
             if(lParam == WM_LBUTTONUP)    // The tray icon was leftclicked
                SendMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0);
             return 0;
    
          case WM_DESTROY:
             delete TrayIcon;
             PostQuitMessage(0);
             return 0;
       }
    
       return DefWindowProc(hwnd, uiMsg, wParam, lParam);
    }
    

    😉


Anmelden zum Antworten