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

Delphi Discussion :

Frame3D sur stringgrid


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Par défaut Frame3D sur stringgrid
    Bonjour,

    Je recherche une aide sur Frame3D, impossible à trouver sur le net.

    Si j'ai bien compris sur les sites anglais, ca donne un effet "enfoncé".

    Donc j'essaie de l'appliquer sur une cellule de mon stringgrid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Frame3D(Canvas,Rect,clGray,clWhite,2);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringGrid1.Canvas.Frame3D(Canvas,Rect,clGray,clWhite,2);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringGrid1.Canvas.Frame3D(StringGrid1.Canvas,Rect,clGray,clWhite,2);
    Evidemment, ce n'est pas ca. Merci de votre aide.

    PS : à quoi correspond 2 ?

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    Citation Envoyé par yannba
    Evidemment, ce n'est pas ca. Merci de votre aide.
    C'est à dire? Ca ne marche pas? Ca n'affiche pas les bonnes couleurs?
    Citation Envoyé par yannba
    PS : à quoi correspond 2 ?
    C'est l'épaisseur du trait de la Frame. Si tu veux faire un effet "à la Windows" l'épaisseur sera toujours égale à 1
    Par exemple, pour afficher une Frame3D comme un TSpeedButton (bords fins):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    aRect := Rect(aLeft, aTop, aLeft + aWidth, aTop + aHeight);
    Frame3d(Canvas, aRect, clBtnHighlight, clBtnShadow, 1);
    aRect étant de type TRect.
    Si toutefois, tu veux faire un effet façon TButton (bords plus épais), il faut faire 2 Frame3D de couleur différente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    aRect := Rect(aLeft, aTop, aLeft + aWidth, aTop + aHeight);
    Frame3D(Canvas, aRect, clBtnFace, cl3DDkShadow, 1);
    InflateRect(aRect);
    Frame3d(Canvas, aRect, clBtnHighlight, clBtnShadow, 1);
    Evidemment, lorsque le bouton est cliqué, il faut tout inverser
    Voila
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Par défaut
    Merci de ton aide, mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TFrmMain.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;Rect: TRect; State: TGridDrawState);
    var aRect: Trect;
    begin
         aRect := Rect(aLeft, aTop, aLeft + aWidth, aTop + aHeight);
    [Erreur] Main.pas(80): E2066 Opérateur ou point-virgule manquant
    [Erreur] Main.pas(80): E2003 Identificateur non déclaré : aWidth
    [Erreur] Main.pas(80): E2003 Identificateur non déclaré : 'aHeight'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         Frame3d(Canvas, aRect, clBtnHighlight, clBtnShadow, 1);
    [Erreur] Main.pas(81): E2003 Identificateur non déclaré : 'Frame3d'

    end;

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Forcément faut adpater le code que je t'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TFrmMain.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;Rect: TRect; State: TGridDrawState);
    begin
      Frame3d(Canvas, Rect, clBtnHighlight, clBtnShadow, 1);
    end;
    Citation Envoyé par yannba
    [Erreur] Main.pas(81): E2003 Identificateur non déclaré : 'Frame3d'
    Une simple recherche dans l'aide t'aurait permis d'ajouter l'unité ExtCtrls dans les uses...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Par défaut
    Merci,

    Mais pour l'aide, j'ai un souci, quand je fais F1, elle me met un message d'erreur "indisponible". J'ai regardé dans la FAQ, et je n'ai pas trouvé pourquoi ...

    Mais sinon, ca marche merci !!!

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

Discussions similaires

  1. Scrollbar Enable sur StringGrid Disable
    Par Greldinard dans le forum Composants VCL
    Réponses: 1
    Dernier message: 17/10/2013, 14h40
  2. Label sur StringGrid
    Par Stevens.Georges dans le forum Langage
    Réponses: 1
    Dernier message: 12/02/2011, 12h18
  3. Shape sur Stringgrid spécifique (probleme de calcul du visible)
    Par BuzzLeclaire dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/03/2010, 14h58
  4. Click sur StringGrid
    Par Arthur59 dans le forum C++Builder
    Réponses: 6
    Dernier message: 28/09/2006, 21h34
  5. Question sur StringGrid
    Par dnkz dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/02/2006, 11h12

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