[Résolu] Editeur visuel
[Résolu] Editeur visuel
Ne voulant pas perdre mes fichiers créés avec PureForm, j'essaie de recréer cet admirable outil en essayant de rajouter les nouveaux gadgets des versions à venir, bien évidemment, je suis bien loin du résultat, car déjà, je ne sais même pas, comment faire, en cliquant sur un buttonImage, aller afficher ce gadget que je viens de sélectionner, c'est pourquoi, j'aimerais bien qu'on m'aide.
Je joins l'adresse de téléchargement de mon projet : http://dl.free.fr/pJCwgb6JY
Je vous remercie de tout coeur!
Je joins l'adresse de téléchargement de mon projet : http://dl.free.fr/pJCwgb6JY
Je vous remercie de tout coeur!
Dernière modification par Micoute le mar. 11/déc./2012 13:42, modifié 3 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Editeur visuel
Bonjour Micoute
je ne comprend pas pourquoi tu perdrais tes fichiers créés avec PureForm
Personellement je n'utilise pas les éditeurs visuel, car je n'aime pas le code issu de ceux-ci.
Je me suis fait une petite biblothèque de codes Type, et le copier collé marche trés bien. Comme ceci je vais plus vite qu'avec les éditeurs.
Compile ce code c'est une règle qui permet de ce facilité la vie pour la disposition des gadgets dans une fenêtre.


Personellement je n'utilise pas les éditeurs visuel, car je n'aime pas le code issu de ceux-ci.
Je me suis fait une petite biblothèque de codes Type, et le copier collé marche trés bien. Comme ceci je vais plus vite qu'avec les éditeurs.

Compile ce code c'est une règle qui permet de ce facilité la vie pour la disposition des gadgets dans une fenêtre.
Code : Tout sélectionner
;///////////////////////////////
; Mesure 1.1 : 27/12/2009 - by Z@ph0d
; PB 4.40
; Modifications MLD le 01/01/2010
;///////////////////////////////
EnableExplicit
Enumeration
#Window_0
EndEnumeration
Enumeration
#Button_0
#text_1
#text_2
#combo_1
#trackbar_0
#checkbox_0
EndEnumeration
Global Largeur = 405
Procedure.i gettpp(f.i)
Protected hdc.i,r.i
;
hdc=GetDC_(GetDesktopWindow_())
If f=0
r= 1440/GetDeviceCaps_(hdc,#LOGPIXELSX)
Else
r= 1440/GetDeviceCaps_(hdc,#LOGPIXELSY)
EndIf
ReleaseDC_(GetDesktopWindow_(),hdc)
;
ProcedureReturn r
EndProcedure
Procedure ruler()
Protected px.i,py.i,i.i,x.i,w.i,f.i
;
UpdateWindow_(WindowID(#window_0))
;
f=GetGadgetState(#combo_1)
Select f
Case 0
w=1440/2.54+1
Case 1
w=1440
EndSelect
;
px= (w/gettpp(0))/10
py= (w/gettpp(1))/10
;
x=0
;
StartDrawing(WindowOutput(#window_0))
DrawingFont(FontID(1))
;
If f<>2
For i=0 To WindowWidth(#window_0)
If i%10=0
Line(x,0,1,10)
DrawText(x-2,12,Str(i/10),#Black,GetWindowColor( #Window_0))
Line(x,WindowHeight(#window_0)-1,1,-10)
DrawText(x-2,WindowHeight(#window_0)-20,Str(i/10),#Black,GetWindowColor( #Window_0))
ElseIf i%5=0
Line (x,0,1,5)
Line(x,WindowHeight(#window_0)-1,1,-5)
Else
Line(x,0,1,2)
Line (x,WindowHeight(#window_0)-1,1,-2)
EndIf
;
x+px
Next
Else
For i=0 To WindowWidth(#window_0)
If i%20=0
Line(x,0,1,10)
DrawText(x-2,12,Str(x),#Black,GetWindowColor( #Window_0))
Line(x,WindowHeight(#window_0)-1,1,-10)
DrawText(x-2,WindowHeight(#window_0)-20,Str(x),#Black,GetWindowColor( #Window_0))
ElseIf i%10=0
Line (x,0,1,5)
Line(x,WindowHeight(#window_0)-1,1,-5)
EndIf
;
x+1
Next
EndIf
;
x=30
If f<>2
For i=0 To WindowHeight(#window_0)
If i%10=0
Line(1,x,10,1)
DrawText(15,x-5,Str(i/10),#Black,GetWindowColor( #Window_0))
Line(WindowWidth(#window_0)-1,x,-10,1)
DrawText(WindowWidth(#window_0)-20,x-5,Str(i/10),#Black,GetWindowColor( #Window_0))
ElseIf i%5=0
Line (1,x,5,1)
Line(WindowWidth(#window_0)-1,x,-5,1)
Else
Line(1,x,2,1)
Line (WindowWidth(#window_0)-1,x,-2,1)
EndIf
;
x+py
If x>WindowHeight(#window_0)-30
Break
EndIf
Next
Else
For i=0 To WindowHeight(#window_0)
If i%20=0
Line(1,x,10,1)
DrawText(15,x-5,Str(x-30),#Black,GetWindowColor( #Window_0))
Line(WindowWidth(#window_0)-1,x,-10,1)
DrawText(WindowWidth(#window_0)-20,x-5,Str(x-30),#Black,GetWindowColor( #Window_0))
ElseIf i%10=0
Line (1,x,5,1)
Line(WindowWidth(#window_0)-1,x,-5,1)
EndIf
;
x+1
If x>WindowHeight(#window_0)-30
Break
EndIf
Next
EndIf
;
StopDrawing()
EndProcedure
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 450, 200, Largeur, 100, "",#PB_Window_BorderLess|#WS_BORDER|#WS_THICKFRAME)
SetWindowColor( #Window_0,$E3DFE0)
StickyWindow(#window_0,1)
;transparence:
SetWindowLong_(WindowID(#window_0), #GWL_EXSTYLE, GetWindowLong_(WindowID(#window_0), #GWL_EXSTYLE) | #WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(#window_0), 0, 120, #LWA_ALPHA)
TextGadget(#Text_1, 30, 30, 70, 20, "Transparence")
TrackBarGadget(#TrackBar_0, 20, 45, 150, 30, 120, 255);, #PB_TrackBar_Ticks)
SetGadgetState(#trackbar_0,120)
ComboBoxGadget(#Combo_1, 190, 40, 70, 20)
AddGadgetItem(#combo_1, -1,"cm")
AddGadgetItem(#combo_1, -1,"inch")
AddGadgetItem(#combo_1, -1,"pixel")
SetGadgetState(#combo_1,2)
ButtonGadget(#Button_0, 280, 55, 50, 20, "Quitter")
CheckBoxGadget(#CheckBox_0, 280, 32, 80, 15, "Second plan")
;
LoadFont(1, "small font", 7,#PB_Font_HighQuality)
;
ruler()
EndIf
EndProcedure
;////////////////////////////////////////
;
OpenWindow_Window_0()
SmartWindowRefresh(#window_0,1)
Repeat
Select WaitWindowEvent()
; ///////////////////
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_0
CloseWindow(#window_0)
Break
Case #trackbar_0
SetLayeredWindowAttributes_(WindowID(#window_0), 0, GetGadgetState(#trackbar_0), #LWA_ALPHA)
Case #combo_1
If EventType()=#CBN_SELCHANGE
InvalidateRect_(WindowID(#Window_0), 0, 1)
ruler()
EndIf
Case #checkbox_0
If GetGadgetState(#checkbox_0)
StickyWindow(#window_0,0)
Else
StickyWindow(#window_0,1)
EndIf
EndSelect
; ////////////////////////
Case #WM_SIZE
InvalidateRect_(WindowID(#Window_0), 0, 1)
ruler()
Case #WM_LBUTTONDOWN
SendMessage_(WindowID(#window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Window_0
CloseWindow(#Window_0)
Break
EndSelect
EndSelect
ForEver
Re: Editeur visuel
Je me suis peut-être mal expliqué, je souhaite rester en conformité avec PureForm pour pouvoir utiliser les scripts fabriqués par lui, tout en pouvant rajouter les nouveaux gadgets sortant au gré des versions PureBasic et c'est tout !
Grand merci à toi et à tous les autres de m'aider
Grand merci à toi et à tous les autres de m'aider
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Editeur visuel
C'est un beau projet mais qui demande trop d'investissement pour ma part.
Ton interface est bien faite même si contrairement à pureform, j'aurai fait une fenêtre maitresse et une fenêtre aperçu, rien de plus.
As tu analyser les fichiers projets.
ça a l'air pas trop dur à relire et réutiliser.
Ils sont sous la formeBonne chance.
A toi de classer toutes les données en récupérant ligne par ligne les options (StringField)
Ton interface est bien faite même si contrairement à pureform, j'aurai fait une fenêtre maitresse et une fenêtre aperçu, rien de plus.
As tu analyser les fichiers projets.
ça a l'air pas trop dur à relire et réutiliser.
Ils sont sous la forme
Code : Tout sélectionner
PureFORM_Project_Begin
Project¶base64
Window¶1¶#Win¶348782593¶#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget¶
ButtonGadget¶1¶#GADGET¶1¶-1¶-1¶0¶0¶0¶0¶0¶¶Base64
TextGadget¶5¶#TXT¶1¶-1¶-1¶0¶0¶26¶0¶513¶#PB_Text_Center|#SS_CENTERIMAGE¶Texte contenu dans le gadget
PureFORM_Project_End
A toi de classer toutes les données en récupérant ligne par ligne les options (StringField)
~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: Editeur visuel
Je pense que pour la lecture des scripts, c'est comme ça que je conçois de faire, mais mon problème c'est que je voudrais aussi en écrire, mais pour cela, il faudrait que je puisse mettre des gadgets sur ma fenêtre de création et ça, hélas, je ne sais pas le faire !
Merci pour ta contribution.
Merci pour ta contribution.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Editeur visuel
ça sent les callback et thread à gogo, avec de grosses pincées d'API. Je passe mon tour.
~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: Editeur visuel
Ok ! Merci quand même !Ar-S a écrit :ça sent les callback et thread à gogo, avec de grosses pincées d'API. Je passe mon tour.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Editeur visuel
Regarde ce lien http://www.purebasic.fr/french/viewtopi ... 12#p128312Micoute a écrit :il faudrait que je puisse mettre des gadgets sur ma fenêtre de création et ça, hélas, je ne sais pas le faire
Les sources sont fournis. Clic droit de la souris pour le menu contextuel.
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: Editeur visuel
C'est vrai que c'est tentant d'essayer de faire le sien.
Le tiens etait deja bien avancé, tu utilises les gadgets que tu resizes, je crois que j'avais vu cette methode par patrick (de memoire).
Je ne sais pas si le Visual designer natif en faisait de même, la fluidité du resizing est bluffante.
Le plus dur doit etre le PanelGadget je pense...
C'est vrai qu'un convertisseur de format aurait aussi été genial, car il commence a y avoir un sacré nombre de designer.
Moi j'avais pensé que si je me lançait dans cette grande aventure, de pouvoir sortir un code générique en plus du code PB, renseignant juste le type de controle avec ses dimensions et coordonnées en TXT, que n'importe qui pourrait utiliser par la suite même pour un autre langage qui n'aurait pas son designer.
J'avais oublié ton Tiny designer et je me rappellais plus non plus pour la regle
Merci Falsam
Le tiens etait deja bien avancé, tu utilises les gadgets que tu resizes, je crois que j'avais vu cette methode par patrick (de memoire).
Je ne sais pas si le Visual designer natif en faisait de même, la fluidité du resizing est bluffante.
Le plus dur doit etre le PanelGadget je pense...
C'est vrai qu'un convertisseur de format aurait aussi été genial, car il commence a y avoir un sacré nombre de designer.
Moi j'avais pensé que si je me lançait dans cette grande aventure, de pouvoir sortir un code générique en plus du code PB, renseignant juste le type de controle avec ses dimensions et coordonnées en TXT, que n'importe qui pourrait utiliser par la suite même pour un autre langage qui n'aurait pas son designer.
J'avais oublié ton Tiny designer et je me rappellais plus non plus pour la regle
Merci Falsam

Re: Editeur visuel
Ton code est franchement génial et je l'avais déjà dans mes archives et comme à l'époque j'étais complètement novice, puisque j'en étais à mon époque d'apprentissage du langage PureBasic, je n'avais même pas remarqué que je détenais une pépite. Je sens renaître l'espoir d'aller plus loin dans mon entreprise et là, franchemnt, ce sera bien grâce à toi !falsam a écrit :Regarde ce lien http://www.purebasic.fr/french/viewtopi ... 12#p128312Micoute a écrit :il faudrait que je puisse mettre des gadgets sur ma fenêtre de création et ça, hélas, je ne sais pas le faire
Les sources sont fournis. Clic droit de la souris pour le menu contextuel.
Je te remercie particulièrement, ainsi que tous ceux qui m'ont soutenu dans cette épreuve.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Editeur visuel
Je viens encore vous solliciter parce que cette fois ci, j'ai un problème avec le PanelGadget, car je voudrais ajouter un menu pour ajouter des onglets à mon panneau quand je le sélectionne !
Je vous remercie tous d'avance pour votre aide
Je vous remercie tous d'avance pour votre aide
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
-
- Messages : 1501
- Inscription : dim. 18/avr./2004 15:04
- Localisation : sud de la france
Re: Editeur visuel
@ jbernard13
Le code est en grande partie de Z@ph0d.
Rendons a Z@ph0d ce qui n'apartient pas a César.
Le code est en grande partie de Z@ph0d.

Rendons a Z@ph0d ce qui n'apartient pas a César.

Re: Editeur visuel
Pour information, on peut ajouter des nouveaux gadgets dans PureFORM à l'aide du 'custom' gadget.Micoute a écrit :Je me suis peut-être mal expliqué, je souhaite rester en conformité avec PureForm pour pouvoir utiliser les scripts fabriqués par lui, tout en pouvant rajouter les nouveaux gadgets sortant au gré des versions PureBasic et c'est tout !
Re: Editeur visuel
Merci beaucoup pour cette information capitale !gnozal a écrit :Pour information, on peut ajouter des nouveaux gadgets dans PureFORM à l'aide du 'custom' gadget.Micoute a écrit :Je me suis peut-être mal expliqué, je souhaite rester en conformité avec PureForm pour pouvoir utiliser les scripts fabriqués par lui, tout en pouvant rajouter les nouveaux gadgets sortant au gré des versions PureBasic et c'est tout !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !