code maximize

Signaler
Messages postés
4
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
17 août 2004
-
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
-
Bonjour, je chercher à modifier le code des boutons minimize et maximize.

Pour minimize pas de pb :

a la creation du formulaire:
Application.OnMinimize := POnApplicationMinimize;

et ensuite
procedure TForm_Menu.POnApplicationMinimize(Sender: TObject);
begin
mon code
end;

mais pour maximize
OnMaximize n'existe pas, alors comment faire?

merci d'avance

7 réponses

Messages postés
1724
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2020
6
Ce bout de code intercepte le message d'agrandissement de la Fiche avant qu'il ne se produise :

procedure WMSyscommand(var msg: TWmSysCommand); message WM_SYSCOMMAND;

procedure TForm1.WMSyscommand(var msg: TWmSysCommand);
begin
  if (msg.CmdType and $FFF0) = SC_MAXIMIZE then
    ShowMessage('La fiche va être agrandie');
  inherited;
end;


mais il ne l'empêche pas.
Messages postés
1724
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2020
6
Ce bout de code intercepte le message d'agrandissement de la Fiche avant qu'il ne se produise :

procedure WMSyscommand(var msg: TWmSysCommand); message WM_SYSCOMMAND;

procedure TForm1.WMSyscommand(var msg: TWmSysCommand);
begin
  if (msg.CmdType and $FFF0) = SC_MAXIMIZE then
    ShowMessage('La fiche va être agrandie');
  inherited;
end;


mais il ne l'empêche pas...
Messages postés
1724
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2020
6
Pour ceux que ça intéresse, là, on empêche l'agrandissement de la fiche :

procedure WMSyscommand(var msg: TWmSysCommand); message WM_SYSCOMMAND;

procedure TForm1.WMSyscommand(var msg: TWmSysCommand);
begin  
  if (msg.CmdType and $FFF0) = SC_MAXIMIZE then
  begin
    Msg.Result := 0;
    Exit;
  end;
  inherited;
end;
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
pour ceux qui (comme moi) ne trouverais pas tout de suite ou est déclaré "TWmSysCommand" il est dans l'unité
"Messages". (et oui, TWmSysCommand n'est pas dans mon fichier d'aide...)

thx pour l'astuce ;)
Messages postés
1724
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2020
6
Bien vu, Loda, merci pour la précision...

Pour ma défense, l'unité Messages est déclarée d'office à l'ouverture d'une fiche.

Pour ceux qui ne la connaitraient pas, voici une astuce :

Quand on ne sait pas à quelle unité se réfère une procedure, function ou autre "bidule", il suffit d'appuyer sur Ctrl, de pointer dessus avec la souris et de cliquer. L'unité correspondante sera affichée dans l'éditeur. 8-)

Bonne prog', faut pas mollir :-p

N'oubliez pas de valider "Réponse acceptée" si ça vous convient, de toute manière vous ne pouvez pas valider autre chose ! :big)
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
pas chez moi en fait. ni l'astuce du ctrl.

remarques que j'utilise D5. ça doit être ça ;)

A+
-------------------
Loda
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
précision:

en fait il suffit de pointer desssus pour que le nom préfixé s'affiche ainsi que le nom de l'unité. Mais seulement si on la "voit" (donc si on a inclu l'unité dans le uses).

et lors que le curseur est dessus,en faissait ctrl+enter on ouvre le fichier. (en fait il tente de l'ouvrir. ca m'arrive souvent qu'il ne le trouve pas.)

-------------------
Loda