2009-06-03 8 views
1

Est-il possible d'interdire la minimisation d'une application \ form dans Delphi?Ne veut pas que le formulaire soit réduit

Je trouve le code suivant:

procedure TForm1.WMShowWindow(var Msg: TWMShowWindow); 
begin 
    if not Msg.Show then 
    Msg.Result := 0 
    else 
    inherited; 
end; 

Mais si j'appuie sur les touches Windows + M ou WindowsKey + D, puis il devient encore réduite au minimum. Y at-il un moyen d'empêcher cela?

+0

dans mon cas, l'utilisateur veut rester maximisé – Anna

Répondre

10

La définition de BorderIcons.bsMinimized à false (le supprimant de l'ensemble) fonctionnera pour WindowsKey + M mais n'arrêtera pas WindowsKey + D. Je pense que cela a du sens. La différence entre les deux est la première est de demander à toutes les fenêtres de minimiser tandis que la seconde est une demande explicite par l'utilisateur de voir leur bureau. Surpasser ce dernier serait probablement ennuyer l'utilisateur (similaire à vous forcer à se concentrer).

+0

Merci Ryan pour votre entrée – Anna

2

ou vous pouvez placer un crochet de clavier et attraper winkey + d ou winkey + m et garder votre formulaire maxmized.

+1

et embêter le bejeezus de vos utilisateurs. .. Néanmoins, +1 pour que ce soit une solution correcte. –

+0

dans mon cas, l'utilisateur veut qu'il reste maximisé – Anna

+0

Bonjour Avar, merci pour votre commentaire, pouvez-vous s'il vous plaît me donner le code pour garder le formulaire maximisé – Anna

0

Il suffit de mettre à la forme onShow événement tel code:

WindowState:=wsMaximized; 

Et la OnCanResize ceci:

if (newwidth<width) and (newheight<height) then 
    Resize:=false;