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

Composants VCL Delphi Discussion :

Composant pour personnalier une Form


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 55
    Par défaut Composant pour personnalier une Form
    Salut à tous,

    Je recherche une librairie de composants permettant d'avoir une Form personnalisable d'un point de vue de la forme. Genre on a une Form rectangulaire on sélectionne un angle. En le tirant on obtient un pentagone. Le but est d'obtenir une Form vraiment quelconque. Il existe différentes librairies pour avoir des Forms personnalisées mais je ne sais pas s'il en existe ou on puisse faire ce que je recherche.

    Alors si vous en connaissez je suis preneur

    Merci et A+

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    salut,
    tu peux essayer avec les composants de la JVCL mais pour obtenir mle fonctionnement que tu veux je pense aue tu vas devoir coder un peu ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 55
    Par défaut
    Oui mais non je veux sans coder moi . Car vu le projet que j'ai en tete il va falloir que je fasse plein de calculs : et cas pas envie du tout. Au fait 2+2 ca fait bien 3 ?

  4. #4
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    voici un freeware qui pourra vous aider pour Delphi 5


    http://www.delphipages.com/edit/count.cfm?ID=1821

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 55
    Par défaut
    Merci,

    Le petit programme : il s'agit d'une form rectangulaire classique avec un memo dedans. Qd on clique sur un bouton qui est dessus la form change de couleur : .

    C'est pas du tout ce que je cherchais . Moi je souhaites une fiche vierge dont je peux modifier l'apparence géométrique par exemple faire un octadecone.

    Merci quand meme pour le coup de main

  6. #6
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    http://www.torry.net/pages.php?id=94 [FONT=Arial]FormRgn v.21.06.99[/FONT]
    [FONT=Arial]ce composant doit correspondre à ce que tu cherches, je l'avais déjà pas mal utilisé, il est vraiment très bien fait, mais il est prévu pour delphi 5. dans tous les cas tu peux déjà regarder les exemples fournit[/FONT]

  7. #7
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    heuuuuu :

    - D'abord La FAQ :
    Comment personnaliser la forme de sa fiche ?

    -Ensuite de la géométrie :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    unit Unit2;
     
    interface
    uses Windows,Forms,Graphics,Types;
     
    procedure Fenetre_Polygone(AForm:TForm;AngleDebut:integer;NbreCotes:integer);
    procedure Fenetre_Etoile(AForm:TForm;AngleDebut:integer;NbreBranches,TailleBranche:integer);
    procedure Fenetre_Ellipse(AForm:TForm);
    procedure Fenetre_CoinsArrondis(AForm:TForm;RayonHorizontal,RayonVertical:integer);
     
    implementation
    procedure Fenetre_Polygone(AForm:TForm;AngleDebut:integer;NbreCotes:integer);
    var
      hRegion: HRGN;
      Poly: array of TPoint;
      Centre:TPoint;
      Angle:Real;
      i:Integer;
      x,y: Integer;
      RayonX,RayonY:Integer;
    begin
      SetLength(Poly,NbreCotes);
      RayonY:=AForm.Height div 2;
      rayonX:=AForm.Width div 2;
      Centre:=Point(AForm.Width div 2,AForm.Height div 2);
      //Calcul du polygone
      i:=0;
      Angle:=0;
      for i:=0 to NbreCotes-1 do
      begin
        Angle:=i*2*PI/NbreCotes+AngleDebut*PI/180;
        x:=Centre.X+round(RayonX*cos(Angle));
        y:=Centre.Y+round(RayonY*sin(Angle));
        Poly[i]:=Point(x,y);
      end;
      //Creation de la forme
      hRegion := CreatePolygonRgn(Poly[0], NbreCotes, WINDING);
      SetWindowRgn(AForm.Handle, hRegion, True);
    end;
     
    procedure Fenetre_Etoile(AForm:TForm;AngleDebut:integer;NbreBranches,TailleBranche:integer);
    var
      hRegion: HRGN;
      Poly: array of TPoint;
      Centre:TPoint;
      Angle:Real;
      i:Integer;
      x,y: Integer;
      RayonX,RayonY:Integer;
    begin
      SetLength(Poly,NbreBranches*2);
      RayonY:=AForm.Height div 2;
      rayonX:=AForm.Width div 2;
      Centre:=Point(AForm.Width div 2,AForm.Height div 2);
      //Calcul du polygone
      i:=0;
      Angle:=0;
      for i:=0 to (NbreBranches*2)-1 do
      begin
        Angle:=i*2*PI/(NbreBranches*2);//+AngleDebut*PI/180;
        if Odd(i) then
        begin
          x:=Centre.X+round(RayonX*(100-TailleBranche)*cos(Angle)/100);
          y:=Centre.Y+round(RayonY*(100-TailleBranche)*sin(Angle)/100);
        end else
        begin
          x:=Centre.X+round(RayonX*cos(Angle));
          y:=Centre.Y+round(RayonY*sin(Angle));
        end;
        Poly[i]:=Point(x,y);
      end;
      //Creation de la forme
      hRegion := CreatePolygonRgn(Poly[0], NbreBranches*2, WINDING);
      SetWindowRgn(AForm.Handle, hRegion, True);
    end;
     
    procedure Fenetre_Ellipse(AForm:TForm);
    var hRegion: HRGN;
    begin
      hRegion := CreateEllipticRgn(0,0,AForm.Width,AForm.Height);
      SetWindowRgn(AForm.Handle, hRegion, True);
    end;
     
    procedure Fenetre_CoinsArrondis(AForm:TForm;RayonHorizontal,RayonVertical:integer);
    var hRegion: HRGN;
    begin
      hRegion := CreateRoundrectRgn(0,0,AForm.Width,AForm.Height,RayonHorizontal,RayonVertical);
      SetWindowRgn(AForm.Handle, hRegion, True);
    end;
     
    end.
    - Enfin le code (une fiche, 4 boutons bien au milieu de la fiche) :
    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
    18
    19
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Fenetre_Etoile(Form1,90,5,50);
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      Fenetre_Polygone(Form1,0,8);
    end;
     
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      Fenetre_Ellipse(Form1);
    end;
     
    procedure TForm1.Button4Click(Sender: TObject);
    begin
      Fenetre_CoinsArrondis(Form1,100,100);
    end;

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

Discussions similaires

  1. [VB.NET] Clic sur un bouton pour afficher une form existante
    Par beegees dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/06/2006, 10h31
  2. [Image] Algorithme pour déterminer une forme continue
    Par wizzmasta dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 25/04/2006, 15h56
  3. Quel composant pour développer une application de planning ?
    Par Wilco dans le forum Composants VCL
    Réponses: 7
    Dernier message: 19/02/2006, 13h12
  4. Superposition de composant pour faire une image
    Par spikto dans le forum Composants VCL
    Réponses: 14
    Dernier message: 31/12/2005, 15h18
  5. Comment faire pour qu'une Form reste en avant-plan?
    Par Bodom-Child dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/08/2005, 10h28

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