IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[API Windows] PB pour griser un des boutons du menu système


Sujet :

Windows

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Points : 50
    Points
    50
    Par défaut [API Windows] PB pour griser un des boutons du menu système
    Bonjour,

    Je souhaite griser le bouton "Réduire" du menu système d'une fenêtre windows.

    J'ai le code pour griser le bouton "Fermer" mais quand je l'adapte pour le bouton "Réduire" cela ne fonctionne pas. Pourquoi ? Et comment le faire ?

    // Grise la case "Fermer". Exemple ok

    HMenu:=GetSystemMenu(handle, false);
    EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND + MF_DISABLED);

    // Grise la case "Réduire". Exemple ko
    // Ne fonctionne pas

    HMenu:=GetSystemMenu(handle, false);
    EnableMenuItem(hMenu, SC_MINIMIZE, MF_BYCOMMAND + MF_DISABLED);

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 752
    Points : 10 683
    Points
    10 683
    Billets dans le blog
    3
    Par défaut
    Ca se règle au niveau des styles de la fenêtre. Retire le style WS_MINIMIZEBOX.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Points : 50
    Points
    50
    Par défaut
    Oui mais ce n'est pas moi (ou mon programme) qui créé la fenêtre.

    Il s'agit ici d'empêcher l'utilisateur de minimiser la fenêtre d'un certain programme. D'abord je créé un hook (jusqu'ici pas de problème) mais je souhaiterais aussi griser le bouton pour faire comprendre à l'utilisateur qu'il ne peut plus disposer de cette fonction.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Points : 50
    Points
    50
    Par défaut
    En cherchant comment rendre une fenêtre invisible j'ai trouvé ce code.

    (Utilisation de SetWindowsLong pour adapter le style de la fenêtre)

    var
    Style : LongInt;
    begin
    Style := GetWindowLong(Handle,GWL_STYLE);
    Style := Style and not WS_MINIMIZEBOX;
    SetWindowLong(Handle,GWL_STYLE,Style);
    SetWindowPos(Handle,0,0,0,0,0,
    SWP_FRAMECHANGED or
    SWP_NOMOVE or
    SWP_NOSIZE or
    SWP_NOZORDER);
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Utilisation de l'API Windows pour personnaliser des contrôles
    Par noftal dans le forum VB.NET
    Réponses: 10
    Dernier message: 12/11/2013, 23h21
  2. Réponses: 2
    Dernier message: 09/02/2007, 18h47
  3. variable globale pour griser des boutons de commande
    Par ben5985 dans le forum Access
    Réponses: 5
    Dernier message: 24/11/2006, 11h34
  4. Comment appeler des API windows en C ?
    Par JuanLopez1966 dans le forum Windows
    Réponses: 6
    Dernier message: 22/12/2004, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo