Bloquer le déplacement d'une form

Soyez le premier à donner votre avis sur cette source.

Vue 6 170 fois - Téléchargée 368 fois

Description

Ce bout de code permet de fixer une form sur l'écran ;)

Source / Exemple :


//Ajouter ceci dans les déclarations privées
procedure WMWindowPosChanging(var Message: TWMWindowPosMsg); message WM_WINDOWPOSCHANGING;

//puis ceci dans le code
procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosMsg);
begin

if (not Visible) then Exit;
with Message do begin
WindowPos.X:=Left;
WindowPos.Y:=Top;
Result:=0;

end;
end;

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
22
Date d'inscription
jeudi 10 avril 2003
Statut
Membre
Dernière intervention
23 janvier 2009

Les deux possibilités sont intéressantes, cependant Bestiol il ne "suffit" pas de supprimer l'item de déplacement : ta solution à le mérite d'être "propre" mais ne fonctionne pas... si tu enlève le menu système de ton form.
Messages postés
41
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2005

Super, la source ! Je l'utiliserai dans mon programme de verrouillage de l'ordinateur (bloquer le form quand il faut taper un pass, çà fait toujours plus beau !)
Messages postés
113
Date d'inscription
vendredi 16 août 2002
Statut
Modérateur
Dernière intervention
15 mai 2005

Salut!
t'as pas mis d'inherited, il me semble que c nécessaire, non ? enfin, evidemment, ss inherited, le programme doit pas changer de place puisqu'il recoit plus le message...
Messages postés
871
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Salut !!
Il ya une autre solution pour bloquer la fenêtre... Je dis pas que c'est plus facile, mais c'est une suggestion :
Il "suffit" de supprimer l'item "Déplacement" du menu système de la form :

Procedure TForm1.FormCreate(Sender: TObject);
Begin
SysMenu := GetSystemMenu(Handle, False); //Récupère le handle du menu
DeleteMenu(SysMenu, Sc_Move, mf_ByCommand); //Supprime
//l'item "Déplacement" (SC_MOVE)
end;

Voilà... Peut-être certains utiliseront cette technique ?? ... Elle permet aussi de modifier le menu "a sa guise", avec ModifyMenu...

Bye... Bestiol

end;

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.