Holen Sie sich das komplette Taskleiste Systemmenü für Ihre Delphi-Anwendungen
Einfacher Code machen Ihre C++ Builder oder Delphi-app verwenden, um das Systemmenü 'Norm' Taskleiste
Zusammenfassung
Wenn Sie mit der rechten auf die Registerkarte Taskleiste C++ Builder/Delphi-Anwendung Maustaste Sie
erhalten Sie ein Systemmenü, das drei Elemente zeigt: wiederherstellen, minimieren und schließen. A
Standard-Windows-Anwendung (z. B. Editor), zeigt drei weitere: maximieren, Größe und verschieben.
Dieses Problem tritt da eine C++ Builder/Delphi-app ein ausgeblendetes Fenster hat und
Es ist diese ausgeblendetes Fenster, das eine Registerkarte auf die Taskleiste hat.
Dieser Codeausschnitt löst das Problem durch das Entfernen der Registerkarte der das ausgeblendete Fenster
und mit der Registerkarte des Hauptformulars Fenster ersetzen.
Mithilfe des Codes
Fügen Sie folgenden Code in Ihre Anwendung Hauptdatei (wobei TApplication ist
Initialisiert). Fügen Sie das Code-Snippet insbesondere unmittelbar nach der main
Formular wird erstellt. Finden Sie den Code für einige weitere Kommentare.
....
Die shlobj.h-Datei verursacht Kompilierung Probleme in C++ Builder 5. An
meiden, NO_WIN32_LEAN_AND_MEAN in zu definieren:
Projekt -> Optionen -> ' Verzeichnisse/bedingte' Registerkarte -> Eingabefeld 'Bedingte definiert'
#include
#include 'Unit1.h' //The des Hauptformulars include-Datei (wichtig enthalten!)
....
Anwendung -> Initialize();
Anwendung -> CreateForm(__classid(TForm1) & Form1);
if(SUCCEEDED(CoInitialize(0)))
{
ITaskbarList * pTaskbarList;
Wenn (SUCCEEDED (CoCreateInstance (CLSID_TaskbarList, 0, CLSCTX_INPROC, IID_ITaskbarList, (LPVOID *) & pTaskbarList)) & & pTaskbarList)
{
Entfernen von ausgeblendeten Fenster Registerkarte pTaskbarList -> DeleteTab() scheint nicht zu funktionieren (mindestens auf Windows 2000),
Daher wir eine alternative Methode verwenden. Ein Fenster mit dem Style WS_EX_TOOLWINDOW hat keine Registerkarte Taskleiste:
SetWindowLong (Anwendung -> Handle, GWL_EXSTYLE, GetWindowLong (Anwendung -> Handle, GWL_EXSTYLE) | WS_EX_TOOLWINDOW);
Fügen Sie die Registerkarte für das Hauptformular statt
pTaskbarList -> AddTab (Form1 -> Griff);
pTaskbarList -> Release();
}
}
<
....
Anwendung -> Run();
....
Hinweise
ITaskbarList steht auf
- Windows 95 mit IE 4 oder höher
- Windows 98
- Windows NT 4.0 mit IE 4 oder höher
- Windows 2000
- Windows XP
Insbesondere ist die Version 4.71 oder höher von Shell32.dll erforderlich.
Fehler
- Die Registerkarte Taskleiste bleibt gedrückt während der Laufzeit nicht, was das Systemmenü aktiv ist.
Holen Sie sich das komplette Taskleiste Systemmenü für Ihre Delphi-Anwendungen
Holen Sie sich das komplette Taskleiste Systemmenü für Ihre Delphi-Anwendungen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Einfacher Code machen Ihre C++ Builder oder Delphi-app verwenden, um das Systemmenü 'Norm' Taskleiste
Zusammenfassung
Wenn Sie mit der rechten auf die Registerkarte Taskleiste C++ Builder/Delphi-Anwendung Maustaste Sie
erhalten Sie ein Systemmenü, das drei Elemente zeigt: wiederherstellen, minimieren und schließen. A
Standard-Windows-Anwendung (z. B. Editor), zeigt drei weitere: maximieren, Größe und verschieben.
Dieses Problem tritt da eine C++ Builder/Delphi-app ein ausgeblendetes Fenster hat und
Es ist diese ausgeblendetes Fenster, das eine Registerkarte auf die Taskleiste hat.
Dieser Codeausschnitt löst das Problem durch das Entfernen der Registerkarte der das ausgeblendete Fenster
und mit der Registerkarte des Hauptformulars Fenster ersetzen.
Mithilfe des Codes
Fügen Sie folgenden Code in Ihre Anwendung Hauptdatei (wobei TApplication ist
Initialisiert). Fügen Sie das Code-Snippet insbesondere unmittelbar nach der main
Formular wird erstellt. Finden Sie den Code für einige weitere Kommentare.
....
Die shlobj.h-Datei verursacht Kompilierung Probleme in C++ Builder 5. An
meiden, NO_WIN32_LEAN_AND_MEAN in zu definieren:
Projekt -> Optionen -> ' Verzeichnisse/bedingte' Registerkarte -> Eingabefeld 'Bedingte definiert'
#include
#include 'Unit1.h' //The des Hauptformulars include-Datei (wichtig enthalten!)
....
Anwendung -> Initialize();
Anwendung -> CreateForm(__classid(TForm1) & Form1);
if(SUCCEEDED(CoInitialize(0)))
{
ITaskbarList * pTaskbarList;
Wenn (SUCCEEDED (CoCreateInstance (CLSID_TaskbarList, 0, CLSCTX_INPROC, IID_ITaskbarList, (LPVOID *) & pTaskbarList)) & & pTaskbarList)
{
Entfernen von ausgeblendeten Fenster Registerkarte pTaskbarList -> DeleteTab() scheint nicht zu funktionieren (mindestens auf Windows 2000),
Daher wir eine alternative Methode verwenden. Ein Fenster mit dem Style WS_EX_TOOLWINDOW hat keine Registerkarte Taskleiste:
SetWindowLong (Anwendung -> Handle, GWL_EXSTYLE, GetWindowLong (Anwendung -> Handle, GWL_EXSTYLE) | WS_EX_TOOLWINDOW);
Fügen Sie die Registerkarte für das Hauptformular statt
pTaskbarList -> AddTab (Form1 -> Griff);
pTaskbarList -> Release();
}
}
<
....
Anwendung -> Run();
....
Hinweise
ITaskbarList steht auf
- Windows 95 mit IE 4 oder höher
- Windows 98
- Windows NT 4.0 mit IE 4 oder höher
- Windows 2000
- Windows XP
Insbesondere ist die Version 4.71 oder höher von Shell32.dll erforderlich.
Fehler
- Die Registerkarte Taskleiste bleibt gedrückt während der Laufzeit nicht, was das Systemmenü aktiv ist.
Holen Sie sich das komplette Taskleiste Systemmenü für Ihre Delphi-Anwendungen
By Wiezutun
Holen Sie sich das komplette Taskleiste Systemmenü für Ihre Delphi-Anwendungen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.