begin process at 2008 08 30 01:52:33
1 233 984 membres
22 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILITAIRE MDI & ROUTINES MDI DE BASE


Information sur la source

Catégorie :Formulaire Niveau : Débutant Date de création : 20/12/2002 Date de mise à jour : 20/12/2002 12:50:46 Vu / téléchargé: 6 564 / 819

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Une application MDI permet d'ouvrir plusieurs fenêtres indépendantes l'une de l'autre. Celles-ci se chevauchant, ... dans la fenêtre principale.
C'est un utilitaire permet d'atteindre facilement ( en un clic ) une des fenêtres MDI enfants. Un peu à l'image de l'application Taskman de windows.
J'en profite pour y ajouter des routines MDI de base tel que mettre toutes les fenêtres enfants en cascade, les fermer toutes, ...

L'utilitaire peut être encore améliorer & vos suggestions sont toujours les bienvenues.

Source

  • No code. All in the zip.
No code. All in the zip.

Conclusion

Je voudrais pouvoir récupérer l'image ( via l'icône ) de chaque fenêtre enfant et le charger dans chaque bouton de mon utilitaire. Merci pour votre aide.

Pour le moment cette utilitaire est juste un petit projet mais je voudrais l'améliorer à la façon du Alt-tab de Windows. La suite dans quelques temps donc.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Nono40 le 21/12/2002 18:44:49

    Dans la procédure TForm_Tache.Tache();
    Il faut supprimer la ligne suivante pour ne pas avoir d'erreur à la fermeture de l'application :
    Image := TImage.Create(self);

    Pour les icones, je vais voir si je trouve quelque-chose...

  • signaler à un administrateur
    Commentaire de Nono40 le 21/12/2002 20:11:48

    Pour créer une fenêtre enfant, ce n'est pas application.CreateForm qu'il faut appeler mais :
    procedure TForm_Main.Menu_Mdi_NewClick(Sender: TObject);
    Var Form:TForm1;
    begin
      if Mdichildcount <= 4 then Form:=TForm1.Create(Application);
      if Mdichildcount >  4 then Menu_Mdi_New.Enabled := False;
    end;
    Ainsi tu peux supprimer les déclaration de Form2,Form3 et Form4 situées dans Form1. Car ceci t'a obligé à limiter le nombre de fenêtre enfants alors que ce n'est pas utile.

    Pour récupérer l'icone de la fenêtre enfant, voici la nouvelle procédure Tache() :
    procedure TForm_Tache.Tache();
    var SpeedBouton:TSpeedButton;
        Cpt:Integer;
        Bmp1,Bmp2:TBitMap;
    begin
         if Form_Main.MDIChildCount > 0 then
         for Cpt := Form_Main.MDIChildCount-1 downto 0 do
         begin
              SpeedBouton := TSpeedButton.Create(self);
              SpeedBouton.Parent := Form_Tache;
              SpeedBouton.Name := 'SP_Tache' + IntToStr(Cpt);
              SpeedBouton.Height := SP_Height;
              SpeedBouton.Width := SP_Width;
              SpeedBouton.Top := (Cpt - MDIChildCount) * (SP_Height + EcartH);
              SpeedBouton.Visible := True;
              SpeedBouton.Caption := Form_Main.MDIChildren[Cpt].Caption;
              SpeedBouton.Tag := Cpt;
              SpeedBouton.Font.Size := 8;
              SpeedBouton.OnClick := Form_Tache.OnClick;

              //Associer une image au bouton
              Bmp1:=TBitMap.Create;
              Bmp2:=TBitMap.Create;
              Try
                bmp1.Width :=32;
                bmp1.Height:=32;
                bmp1.Canvas.Brush.Color:=clbtnface;
                bmp1.Canvas.FillRect(Bmp1.Canvas.ClipRect);
                bmp1.Canvas.StretchDraw(Bmp1.Canvas.ClipRect,Form_Main.MDIChildren[Cpt].Icon)
                bmp2.Width :=20;
                bmp2.Height:=20;
                bmp2.Canvas.StretchDraw(Bmp2.Canvas.ClipRect,Bmp1);
                SpeedBouton.Glyph.Assign(bmp2);
              Finally
                Bmp1.Free;
                Bmp2.Free;
              End;
         end;
    end;

    Pour le tester j'ai ajouté une icone ménuellement dans le OnCreate de TForm1 : Icon.LoadFromFile('MonIcone.Ico'). Mais le mieux serai d'ajouter un fichier .RES avec les icones.

    Bonne continuation,

    Nono.

  • signaler à un administrateur
    Commentaire de sp2308 le 01/01/2008 22:52:20

    bnjour

    Je debute totalement et souhaiterais savoir comment faire pour afficher un autre formulaire car l ajout d un item dans le menu et la nouvelle proceudre onclick associee ne me permet pas d afficher autre chose que la meme fenetre.
    Je souhaiterais donc appeller une fenetre que j aurais cree moi mais j en suis incapable je debute totalement...

    merci de votre aide et de votre patience

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS