Demande Conseil, création bouton Style RTF

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Demande Conseil, création bouton Style RTF

Message par Shadow »

Salut,

J'aimerais créer un bouton Style RTF, je ne sais pas si c'est le terme qui convient le mieux.

Un bouton ou je peut choisir le Texte, la Couleur du Texte, la Couleur du Font du Texte, le Style du Texte, la Police du Texte
Quand je dis du texte, attention, je parle de texte multiple sur un bouton, Ex: Ceci est un bouton RTF
ou ici chaque texte (mot) aurais c'est propres paramètres, genre RTF quoi.

Je vais utiliser un bouton image, je vais créer l'image du texte puis le mettre sur le bouton.
Je demande conseil pour savoir quel genre de syntaxe utiliser pour les fonction pour faire ça
Un genre comme ceci ?:

Ici j’ajoute les texte au bouton:

Code : Tout sélectionner

AddButtonTextColor(Gadget.i, "Ceci", CouleurTexte.i, CouleurFontTexte.i, StyleTexte.i, PoliceTexte.s, TaillePoliceTexte.s)
AddButtonTextColor(Gadget.i, "est", CouleurTexte.i, CouleurFontTexte.i, StyleTexte.i, PoliceTexte.s, TaillePoliceTexte.s)
AddButtonTextColor(Gadget.i, "un", CouleurTexte.i, CouleurFontTexte.i, StyleTexte.i, PoliceTexte.s, TaillePoliceTexte.s)
AddButtonTextColor(Gadget.i, "bouton", CouleurTexte.i, CouleurFontTexte.i, StyleTexte.i, PoliceTexte.s, TaillePoliceTexte.s)
AddButtonTextColor(Gadget.i, "RTF", CouleurTexte.i, CouleurFontTexte.i, StyleTexte.i, PoliceTexte.s, TaillePoliceTexte.s)
Et ici j’applique l'image au bouton:

Code : Tout sélectionner

SetButtonTextColor(Gadget.i)
Ou alors avec une fonction unique, se qui risque de compliquer la chose:

Code : Tout sélectionner

SetButtonTextColor(Gadget.i, CodeBouton.s)
Code bouton aurait le code pour paramétrer les textes du bouton du style (Perso je pense pas que ce soit la meilleurs façon ainsi):

Code : Tout sélectionner

CodeBouton.s = "Ceci, Rouge, Vert, Bleu, Rouge, Vert, Bleu, #PB_Font_Bold, "Arial", 25"
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Demande Conseil, création bouton Style RTF

Message par falsam »

A mon avis tu vas trouver ton bonheur sur le forum. Le sujet a souvent été abordé.

Pour un bouton personnalisé la solution est le canvas gadget.

Un exemple https://github.com/pbcodex/Canvas-Butto ... master.zip
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Demande Conseil, création bouton Style RTF

Message par Ar-S »

+1 pour le canvas.. La meilleure solution pour du beau bouton graphique.
Il réunit tout ce qu'il faut.. La facilité de gestion des images et les events très complets.
Tu peux même t'amuser avec les nouvelles commandes AddImageFrame() etc pour faire du bouton animé.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Demande Conseil, création bouton Style RTF

Message par Shadow »

Oui merci mais je ne cherche pas à recréer un bouton là.
Et de toute façon même si c’était le cas, la question resterait la même !

Que je créer ou pas un bouton avec un Canvas il faudra bien que
j'utilise la syntaxe la mieux possible donc la question este entière :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Demande Conseil, création bouton Style RTF

Message par Ar-S »

As tu regardé le lien que Falsam t'a donné ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Demande Conseil, création bouton Style RTF

Message par Shadow »

Oui !
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Demande Conseil, création bouton Style RTF

Message par Ar-S »

J'aimerais créer un bouton
=>
Oui merci mais je ne cherche pas à recréer un bouton là.
C'est ce genre de contradiction qui rend dingue.
Je vais utiliser un bouton image, je vais créer l'image du texte puis le mettre sur le bouton.
Je demande conseil pour savoir quel genre de syntaxe utiliser pour les fonction pour faire ça
Tu as exactement ce qu'il te faut dans l'exemple du CanvasButtonGadget sauf qu'au lieu d'utiliser des includebinary, tu crées tes images comme tu le souhaites.

Donc CreateImage(), Box(), DrawText() (la bibliothèque 2DDrawing) seront les principaux outils dont tu auras besoin. Ensuite le code CanvasButtonGadget() devrait te suffire ou du moins tu n'auras pas à modifier grand chose dedans..
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Demande Conseil, création bouton Style RTF

Message par Shadow »

J'ai dis:
J'aimerais créer un bouton Style RTF
Je crois que je me suis pas fait comprendre.
Pas grave merci quand même.

PS: après une fois fait on me dire que mon code est nul
alors que j'ai demander comment procéder et que ont ne m'as pas dis.

Je vais essayer de faire comme je peux.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: Demande Conseil, création bouton Style RTF

Message par Mindphazer »

Shadow a écrit : Je crois que je me suis pas fait comprendre.
Comme d'hab
Shadow a écrit : PS: après une fois fait on me dire que mon code est nul
alors que j'ai demander comment procéder et que ont ne m'as pas dis.
Tu t'es relu ???
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Demande Conseil, création bouton Style RTF

Message par SPH »

Modéré par Ar-S : On s'en fout..

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Demande Conseil, création bouton Style RTF

Message par Ar-S »

Primo un bouton RTF ça ne veut rien dire...

Tu veux pouvoir créer un bouton dont tu peux modifier la font, la couleur de cette font etc...
On te dit :
- Utilise le Canvas, c'est le meilleur moyen
- Utilise la bibliothèque 2DDrawing pour créer ton image texte que tu appliqueras au canvas.
- Le Forum REGORGE d'exemples : un exemple parmis d'autres
http://www.purebasic.fr/french/viewtopi ... on+couleur
après une fois fait on me dire que mon code est nul
alors que j'ai demander comment procéder et que ont ne m'as pas dis.
Fais un code qui ne fait pas 3 pages ou du moins qui n'est pas "censer" aider les autres... C'est pas pareil.
Fais la différence entre : Je vous propose un super truc qui s'avère être inutile et J'ai besoin d'aide pour ce code... Là je fais comme ça, puis je mieux faire ?
Tu comprends la différence ??? On ne refuse jamais de l'aide à quelqu'un. Mais on ne va tout coder pour toi.

Donc fais un essai et poste le.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Demande Conseil, création bouton Style RTF

Message par Shadow »

Merci Ar'S,

Je ne veux pas qu'on face à ma place.
Je demande comment procédé.

Vous n'avez pas compris que je ne veux pas refaire un bouton entier.
Je veux juste changer le texte (Un texte multi couleur dans un même bouton) tu me comprends ?

Je veux juste savoir la syntaxe à utiliser, pourtant j'ai crue avoir tous dit au premier message :?
J'vé faire au mieux et on verra après :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Demande Conseil, création bouton Style RTF

Message par falsam »

Shadow a écrit :Je veux juste changer le texte (Un texte multi couleur dans un même bouton) tu me comprends ?
Tout à fait Shadow.

Ce que tu dis a fait remonter à la surface une phrase similaire datant de 6 ans.
je cherche en faite a personnaliser entierement mon bouton tu comprends :)
http://www.purebasic.fr/french/viewtopi ... 92#p125892

Donc ce que tu souhaites c'est de te servir des boutons natifs de PureBasic et juste modifier quelques caractéristique du texte.

■ Code

Code : Tout sélectionner

;ButtonColorGadget V1.02 
;
;Description de chacun des paramètres
;---------------------------------
;   Gadget      Identifiant du gadget concerné
;   x           Coordonné gauche sur la fenetre
;   y           Coordonné haut sur la fenetre
;   Width       Largeur du bouton
;   Height      Hauteur du bouton
;   Caption     Text du bouton
;   fColor,     Front Color (Couleur du texte)
;   bColor      Back Color (Couleur du bouton)
;   sBorder     Epaisseur de la bordure
;   cBorder     Couleur de la bordure
;   Option      Null par defaut ou #PB_Button_Toggle (Voir l'aide sur  ButtonImageGadget)
;   GradientColor   Obtenir un dégradé de couleur
;   FontId      #PB_Default font par defaut ou police de caractére pour ce bouton

Procedure ButtonColorgadget(Gadget, x, y ,Width, Height ,Text$, fColor, bColor, Option=0, GradientColor=#False, FontID=#PB_Default)
  Protected Img.i, Result.i  
  
  Img=CreateImage(#PB_Any, Width, Height)
  If StartDrawing(ImageOutput(Img))
    DrawingFont(FontId) 
    If GradientColor=#True
      Box(0, 0 ,Width, Height, bColor)
      DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_Transparent)
      FrontColor(bColor)
      BackColor(fColor)
      BoxedGradient(0, 0, Width, Height)  
      DrawText(Width/2 - TextWidth(Text$)/2, Height/2-TextHeight(Text$)/2,Text$)
    Else
      Box(0, 0 ,Width, Height, bColor)
      DrawText(Width/2 - TextWidth(Text$)/2, Height/2-TextHeight(Text$)/2,Text$,fColor,bColor)
    EndIf
    
    StopDrawing()
    
    Result = ButtonImageGadget(Gadget, x, y, Width, height , ImageID(Img), Option)
    If Gadget = #PB_Any
      ProcedureReturn Result
    Else
      ProcedureReturn Gadget
    EndIf
  EndIf
EndProcedure

Macro ButtonImageGadget : ButtonColorGadget :EndMacro


Declare OnClick()

OpenWindow(0,100,100,400,250,"Boutons Colorés - Quelques exemples",#PB_Window_SystemMenu)

ButtonImageGadget(#PB_Any,10,10,150,30, "Police par defaut", $9F9F9F, $B2FBE5,#PB_Button_Toggle)
ButtonImageGadget(#PB_Any,10,50,150,30, "Arial Italic", $DDDDDD, $494949,0,LoadFont(0,"Arial",12, #PB_Font_Italic))
ButtonImageGadget(#PB_Any,10,90,150,30, "En Rouge et Noir", $0611F9, $000000)
ButtonImageGadget(#PB_Any,10,130,150,30, "Texte Radient", $080BBB, $43B780, 0, #True, LoadFont(0,"Arial",12, #PB_Font_Bold))

ClickMe = ButtonImageGadget(#PB_Any,10,170,150,30,"Click Me",$080BBB, $43B780,0, #False, LoadFont(0,"Arial",12, #PB_Font_Bold))

BindGadgetEvent(ClickMe, @OnClick())
BindGadgetEvent(ClickMe, @OnClick(), #PB_EventType_Focus )
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow

Procedure OnClick()
  Debug "Clique"
EndProcedure
Une bonne base je pense ? :wink:

Pour te rafraîchir la mémoire tu as déja fait ça ici http://www.purebasic.fr/french/viewtopi ... 12#p126212

Avec tout ça tu as de quoi faire je pense.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Demande Conseil, création bouton Style RTF

Message par Shadow »

Merci je vais creuser :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Répondre