Procurer l'intégralité de la barre des tâches du système de menu pour vos applications delphi


code Simple pour rendre votre C Builder ou Delphi app utiliser l'option & #39 & #39 de la barre des tâches du système de menu

en Résumé

Lorsque vous cliquez-droit sur C Builder et Delphi application & #39 s onglet barre des tâches, vous
obtenez un système de menu qui affiche trois éléments: la Restauration, Réduire et Fermer. Un
norme d'application windows(comme le bloc-notes), affiche trois plus: Maximiser, de la Taille et de la Déplacer.
Ce problème se produit car un C Builder et Delphi application dispose d'une fenêtre masquée, et
c'est cette fenêtre masquée qui a un onglet sur la barre des tâches.

& nbsp

Ce bout de code permet de résoudre le problème par la suppression de l'onglet de la fenêtre masquée
et de le remplacer avec de l'onglet du formulaire principal & #39 s de la fenêtre.

le code

Insérez le code suivant dans votre application & #39 s fichier principal (où TApplication est
initialisé). Plus précisément, insérer l'extrait de code immédiatement après le principal
le formulaire est créé. Voir le code pour un peu plus de commentaires.
....
//La shlobj.h fichier d'origine au moment de la compilation des problèmes dans C Builder 5. Pour
//les éviter, de définir NO_WIN32_LEAN_AND_MEAN dans:
//Projet->Options-> & #39 Répertoires/Conditionnel & #39 onglet-> & #39 Conditionnelle définit & #39 zone d'édition
#

#inclure 'Unit1.h' //Le formulaire principal & #39 s fichier include (important d'inclure!)

....

Application->Initialize()
Application->CreateForm(__classid(TForm1), & Form1)

si(RÉUSSI(CoInitialize(0)))
{
ITaskbarList *pTaskbarList
if(RÉUSSI(CoCreateInstance(CLSID_TaskbarList, 0,CLSCTX_INPROC, IID_ITaskbarList, (LPVOID *) & pTaskbarList)) & & pTaskbarList)
{
//Supprimer l'onglet de la fenêtre masquée pTaskbarList->DeleteTab() ne semble pas fonctionner (au moins sur Windows 2000),
//nous utilisons donc une méthode alternative. Une fenêtre avec le WS_EX_TOOLWINDOW style n'a pas un onglet barre des tâches:
SetWindowLong(Applications->Gérer, GWL_EXSTYLE, GetWindowLong(Applications->Gérer,GWL_EXSTYLE)|WS_EX_TOOLWINDOW)

//Ajout d'un onglet pour le formulaire principal au lieu de
pTaskbarList->AddTab(Form1->Handle)

pTaskbarList->Release()
}
}
<
....

Application->Run()

....

Notes

ITaskbarList est disponible sur

  • Windows 95 avec IE 4 ou supérieur
  • Windows 98
  • Windows NT 4.0 avec IE 4 ou supérieur
  • Windows 2000
  • Windows XP

plus Précisément, la Version 4.71 ou plus tard de Shell32.dll est nécessaire.

Bugs

  • L'onglet barre des tâches ne reste pas enfoncé pendant toute la durée du système de menu est actif.









Procurer l'integralite de la barre des taches du systeme de menu pour vos applications delphi


Procurer l'integralite de la barre des taches du systeme de menu pour vos applications delphi : Plusieurs milliers de conseils pour vous faciliter la vie.


code Simple pour rendre votre C Builder ou Delphi app utiliser l'option & #39 & #39 de la barre des taches du systeme de menu

en Resume

Lorsque vous cliquez-droit sur C Builder et Delphi application & #39 s onglet barre des taches, vous
obtenez un systeme de menu qui affiche trois elements: la Restauration, Reduire et Fermer. Un
norme d'application windows(comme le bloc-notes), affiche trois plus: Maximiser, de la Taille et de la Deplacer.
Ce probleme se produit car un C Builder et Delphi application dispose d'une fenetre masquee, et
c'est cette fenetre masquee qui a un onglet sur la barre des taches.

& nbsp

Ce bout de code permet de resoudre le probleme par la suppression de l'onglet de la fenetre masquee
et de le remplacer avec de l'onglet du formulaire principal & #39 s de la fenetre.

le code

Inserez le code suivant dans votre application & #39 s fichier principal (ou TApplication est
initialise). Plus precisement, inserer l'extrait de code immediatement apres le principal
le formulaire est cree. Voir le code pour un peu plus de commentaires.
....
//La shlobj.h fichier d'origine au moment de la compilation des problemes dans C Builder 5. Pour
//les eviter, de definir NO_WIN32_LEAN_AND_MEAN dans:
//Projet->Options-> & #39 Repertoires/Conditionnel & #39 onglet-> & #39 Conditionnelle definit & #39 zone d'edition
#

#inclure 'Unit1.h' //Le formulaire principal & #39 s fichier include (important d'inclure!)

....

Application->Initialize()
Application->CreateForm(__classid(TForm1), & Form1)

si(REUSSI(CoInitialize(0)))
{
ITaskbarList *pTaskbarList
if(REUSSI(CoCreateInstance(CLSID_TaskbarList, 0,CLSCTX_INPROC, IID_ITaskbarList, (LPVOID *) & pTaskbarList)) & & pTaskbarList)
{
//Supprimer l'onglet de la fenetre masquee pTaskbarList->DeleteTab() ne semble pas fonctionner (au moins sur Windows 2000),
//nous utilisons donc une methode alternative. Une fenetre avec le WS_EX_TOOLWINDOW style n'a pas un onglet barre des taches:
SetWindowLong(Applications->Gerer, GWL_EXSTYLE, GetWindowLong(Applications->Gerer,GWL_EXSTYLE)|WS_EX_TOOLWINDOW)

//Ajout d'un onglet pour le formulaire principal au lieu de
pTaskbarList->AddTab(Form1->Handle)

pTaskbarList->Release()
}
}
<
....

Application->Run()

....

Notes

ITaskbarList est disponible sur

  • Windows 95 avec IE 4 ou superieur
  • Windows 98
  • Windows NT 4.0 avec IE 4 ou superieur
  • Windows 2000
  • Windows XP

plus Precisement, la Version 4.71 ou plus tard de Shell32.dll est necessaire.

Bugs

  • L'onglet barre des taches ne reste pas enfonce pendant toute la duree du systeme de menu est actif.


Procurer l'intégralité de la barre des tâches du système de menu pour vos applications delphi

Procurer l'intégralité de la barre des tâches du système de menu pour vos applications delphi : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation