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] Fonction Rectangle


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Points : 66
    Points
    66
    Par défaut [API Windows] Fonction Rectangle
    Bonjour,

    Qqun sait il comment faire pour personaliser le rectangle créer avec Retcangle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    hdc = GetDC(hwnd);
    Rectangle(hdc,10,10,100,100)
    Je voudrait : 1) Pouvoir choisir la couleur du font
    2) Choisir la largeur du bord du rectangle

    J'ai trouvé ça dans MSDN :

    The rectangle is outlined by using the current pen and filled by using the current brush.
    Mais je ne sais pas trop ce que ça veut dire

    Merci

    Zazeglu

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    La couleur de fond de ton rectangle est celle du pinceau (Brush) courant défini dans le contexte d'affichage; la couleur et l'épaisseur du bord sont celles du crayon (Pen) courant.

    - Pour définir un pinceau personnalisé : CreateSolidBrush;
    - Pour définir un crayon personnalisé : CreatePen.
    - Pour utiliser ces objets dans le contexte d'affichage : SelectObject.

    Attention de bien restaurer les pinceau et crayon d'origine dans le contexte d'affichage avant de libérer ce dernier !
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Points : 66
    Points
    66
    Par défaut
    Ok je vais recherche de ce coté ,mais que veux tu dire par :

    Attention de bien restaurer les pinceau et crayon d'origine dans le contexte d'affichage avant de libérer ce dernier !
    Merci

    Zazeglu

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    La fonction SelectObject renvoie toujours le handle de l'objet précédemment actif dans le contexte d'affichage; il faut sauvegarder ce handle.

    Avant de libérer le contexte d'affichage, il faut le restaurer dans son état d'origine. Donc, il faut exécuter à nouveau SelectObject en lui passant le handle sauvegardé.

    Voici un petit exemple (en Pascal, mais assez compréhensible je pense) qui dessine un rectangle bleu à fond rouge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Procedure tFenetre.DESSIN;
    Var DC : hDC;
        AncienPinceau, Pinceau : hBrush;
        AncienCrayon, Crayon : hPen;
    Begin
      DC:=GetDC(hWindow);
      Pinceau:=CreateSolidBrush(RGB(255,0,0));
      Crayon:=CreatePen(ps_Solid,4,RGB(0,0,128));
      AncienPinceau:=SelectObject(DC,Pinceau);
      AncienCrayon:=SelectObject(DC,Crayon);
      Rectangle(DC,10,10,100,50);
      SelectObject(DC,AncienPinceau);
      DeleteObject(Pinceau);
      SelectObject(DC,AncienCrayon);
      DeleteObject(Crayon);
      ReleaseDC(hWindow,DC);
    End;
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 134
    Points : 66
    Points
    66
    Par défaut
    ouioui ça ira ,le code pascal j'ai déja eu ma dose ...

    Je vais m'en sortire avec ça ,l'exemple va bcp m'aider ;

    Merci beaucoup !

    Zazeglu

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

Discussions similaires

  1. "Furtivité" des fonctions de l'API Windows
    Par Julie++ dans le forum Windows
    Réponses: 8
    Dernier message: 24/03/2009, 17h54
  2. API Windows différence entre fonctions simple EX et A
    Par Astraya dans le forum Windows
    Réponses: 3
    Dernier message: 11/02/2008, 09h39
  3. Réponses: 4
    Dernier message: 26/01/2006, 10h48
  4. Où trouver l'aide sur les fonctions de l'API Windows ?
    Par psidonio dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 08/11/2005, 14h28
  5. fonction de l'API windows
    Par T-B dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/03/2005, 22h36

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