Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 120 fois - Téléchargée 38 fois
//Api si vous utilisez le code dans des dll par ex, dans une form ça marche sans function GetSystemMenu(hwnd: LongInt, bRevert: LongInt): LongInt;external 'user32.dll'; function DeleteMenu(hMenu: LongInt, nPosition: LongInt, wFlags: LongInt): LongInt; external 'user32.dll'; //constantes //pour GetSystemMenu const MF_ENABLED = 0; //Rend le menu accessible. const MF_DISABLED = 2; //Rend le menu inaccessible, à utiliser conjointement avec MF_GRAYED. const MF_GRAYED = 1; //Donne un aspect grisé au menu. const MF_BYCOMMAND = 0; //uIDEnableItem donne le menuID de l'item (par défaut). const MF_BYPOSITION = 40; //donne le zero-based //pour DeleteMenu Const SC_MAXIMIZE = 30; //Empêche l'aggrandissement de la feuillle Const SC_MINIMIZE = 20; //Empêche la réduction de la feuille Const SC_MOVE = 10; //Empêche le déplacement de la feuille Const SC_RESTORE = 120; //Empêche la restauration de la feuille Const SC_SIZE = 0; //Empêche le redimensionnement de la feuille Const SC_Close = 60; //Empêche la fermeture de la feuille //Pour empêcher de bouger la form Procedure Form_Move(Handle:Integer); begin DeleteMenu(GetSystemMenu(Handle, FALSE), SC_MOVE, MF_BYCOMMAND); end; //A la création de la form supprimer le dépacement Procedure TForm1.FormCreate(Sender: TObject); begin Form_Move(Form1.Handle); end;
5 sept. 2007 à 21:17
ce source n'est pas inutile bien au contraire
si tu désires produire un code qui soit compatible entre les différentes versions de Delphi
cette petite astuce a son importance ... puisque "alCustom" n'est pas disponible dans toutes les versions ;-)
5 sept. 2007 à 19:04
il ya la propriété du form "align" il suffit de la metre sur "alCustom"
21 mai 2005 à 10:02
Pour figer très largement une fenêtre, il y a autre chose de sympa: il suffit d'interdire WM_SYSCOMMAND avec seulement 4 lignes de code. Voici un petit code sympa :
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Controls, Forms;
type
TForm1 = class(TForm)
private
procedure FixedForm(var Msg:TWMSysCommand); message WM_SYSCOMMAND;
end;
var Form1 : TForm1;
implementation
{$R *.DFM}
procedure TForm1.FixedForm(var Msg:TWMSysCommand);
begin
Msg.Result:=-1;
end;
end.
=======2)
Conseillons le code N°28941 pour épurer les menus inutiles du popup.
=======3)
Je ne sais pas d'où tu nous sort tes constantes, mais moi dans Windows.pas, j'ai ce qui suit. Et ce n'est pas pareil !
const
MF_BYPOSITION = $400;
SC_SIZE = 61440;
SC_MOVE = 61456;
SC_MINIMIZE = 61472;
SC_MAXIMIZE = 61488;
SC_NEXTWINDOW = 61504;
SC_PREVWINDOW = 61520;
SC_CLOSE = 61536;
SC_VSCROLL = 61552;
SC_HSCROLL = 61568;
SC_MOUSEMENU = 61584;
SC_KEYMENU = 61696;
SC_ARRANGE = 61712;
SC_RESTORE = 61728;
SC_TASKLIST = 61744;
SC_SCREENSAVE = 61760;
SC_HOTKEY = 61776;
SC_DEFAULT = 61792;
SC_MONITORPOWER = 61808;
SC_CONTEXTHELP = 61824;
SC_SEPARATOR = 61455;
SC_ICON = SC_MINIMIZE;
SC_ZOOM = SC_MAXIMIZE;
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.