begin process at 2010 02 10 05:47:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > DÉSACTIVER LE BOUTON FERMER / X DE VOS FORMS EN QUELQUES LIGNES !!

DÉSACTIVER LE BOUTON FERMER / X DE VOS FORMS EN QUELQUES LIGNES !!


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Niveau :Initié Date de création :02/09/2003 Date de mise à jour :02/09/2003 18:42:02 Vu :3 957

Auteur : crazyjoke

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Et bien voila comment désactiver le très désagréable bouton fermer (le X) de vos forms simplement !!!

Vive la programmation !!!!

Source

  • //Code de VB retranscris en delphi parmoi, crazy joke :-)
  • //--------------------------------------------------------------
  • procedure DesactiverX(Handle : HWND);
  • var
  • Tmp00: Cardinal;
  • Tmp01:HMENU;
  • begin
  • Tmp01 := GetSystemMenu(Handle,False);
  • Tmp00 := GetMenuItemCount(Tmp01);
  • RemoveMenu(Tmp01,Tmp00 - 1,1024);
  • RemoveMenu(Tmp01,Tmp00 - 2,1024);
  • RemoveMenu(Tmp01,Tmp00 - 3,1024);
  • RemoveMenu(Tmp01,Tmp00 - 4,1024);
  • end;
//Code de VB retranscris en delphi parmoi, crazy joke :-)
//--------------------------------------------------------------

procedure DesactiverX(Handle : HWND);
var
  Tmp00: Cardinal;
  Tmp01:HMENU;
begin
  Tmp01 := GetSystemMenu(Handle,False);
  Tmp00 := GetMenuItemCount(Tmp01);

  RemoveMenu(Tmp01,Tmp00 - 1,1024);
  RemoveMenu(Tmp01,Tmp00 - 2,1024);
  RemoveMenu(Tmp01,Tmp00 - 3,1024);
  RemoveMenu(Tmp01,Tmp00 - 4,1024);

end;

 Conclusion

Et voila commentez si cela vous chante...


 Sources du même auteur

Source avec Zip Source avec une capture PROJECTION 3D
Source avec Zip Source avec une capture INTRO À LA 3D AVEC GLSCENE

 Sources de la même categorie

Source avec Zip Source avec une capture UTILISER UNE DLL INCLUSE EN RESSOURCES par Bacterius
Source avec Zip Source avec une capture IMAGE DANS UN TDBGRID par HAFTARIFOUAD
Source avec Zip Source avec une capture [ASTUCE] COMMENT VOIR UN ITEM, D'UNE LISTBOX, TRONQUÉ DANS U... par cirec
Source avec Zip Source avec une capture MESSAGEDLG PERSONNALISÉ par HAFTARIFOUAD
Source avec Zip Source avec une capture COMMENT DESSINER SUR UN TCANVAS LE TEXTE D'UNE FORMULE CHIMI... par pseudo3

Commentaires et avis

Commentaire de Gotrek le 02/09/2003 22:59:06

Ou bien dans l'OnClose de ta form, Action := caNone;

Commentaire de Pascail le 03/09/2003 06:56:59

Et puis ossi dans l'event CloseQuery, Canclose := Fasle;
Comme quoi, y'a plein de façon d'empécher de fermer une form, soit metre du chuwing gome sur le bouton, soit couper les fils qui en partent ;).

Commentaire de crazyjoke le 03/09/2003 08:30:36

Oui, merci pour vos commentaires mais le but de cet exemple est de "griser" le bouton en fait, et donc de désactiver son action!

@++

Cj

Commentaire de supermig le 03/09/2003 10:13:41

Salut, pour faire cette manipu, il y a moins long :

procedure TaForm.FormCreate(Sender: TObject);
var hMenuHandle : HMENU;
begin
  hMenuHandle := GetSystemMenu(Handle, FALSE);
  if (hMenuHandle <> 0) then
    DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
End;

Commentaire de crazyjoke le 03/09/2003 10:45:41

supermig>> Merci pour ton code je n'y avais pas pensé, tu devrai le proposer aussi sur VBFrance car, en fait, je me suis contenté de passer une source de ce dernier site en delphi.

Merci à vous tous et bonne prog!

Commentaire de Glorkonline le 07/09/2003 11:40:20

On peut faire çà très facilement !
procedure DesactiveX;
begin
TaForm.BorderIcons.biSystemMenu := False;
end;

Commentaire de Yoann le 07/09/2003 15:08:00

Il y a encore plus simple :

Griser le bouton "Fermer" d'une form :
EnableMenuItem(GetSystemMenu(Handle,FALSE),SC_CLOSE, MF_GRAYED);

Dégriser le bouton "Fermer" d'une form :
EnableMenuItem(GetSystemMenu(Handle,FALSE),SC_CLOSE, MF_ENABLED);  

Commentaire de piep14 le 03/06/2005 21:01:53

Par exemple ce code :
EnableMenuItem(GetSystemMenu(Handle,FALSE),SC_CLOSE, MF_GRAYED);

Je le met ou dans mon code ???

Merci

Expliquer vous un peu plus pour les débutants !!! Merci

Commentaire de mickaelmediaprod le 28/12/2005 13:24:45

N'importe ou dans une procédure..

Commentaire de mike255 le 26/05/2007 14:14:07

Le mieux est de le mettre dans l'évènement OnCreate de la Form non?

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales