Code : Tout sélectionner
;*****************************
;Autogad V4 MLD 01/12/2019
;¤¤¤¤¤¤ Numéros des éléments ¤¤¤¤¤¤¤¤¤¤¤¤¤
#FP = 1:#FrameGadget1 = 2:#eticdm1 = 3:#eticdm2 = 4:#eticdm3 = 5:#eticdm4 = 6:#spindm1 = 7:#spindm2 = 8:#spindm3 = 9:#spindm4 = 10:#cocheFCT = 11
#btenrdm = 12:#btrazdm = 13:#eticpol1 = 14:#eticpol2 = 15:#eticpol3 = 16:#eticpol4 = 17:#trait1 = 18:#trait2 = 19
#listpol = 20:#listtail = 21:#cochcoulF = 22:#cochcoulT = 23:#cochG = 24:#cochI = 25:#cochS = 26:#cochB = 27:#cochHQ = 28:#FramTestpol = 29
#Txttestpol = 30:#canvaspol = 31:#Framerespol = 32:#eticft1 = 33:#eticft2 = 34:#stringNpol = 35:#stringIDF = 36:#txtresft = 37:#cochDPIpol =38
#framegad1 = 40:#Txtlistgad = 41:#listgad = 42:#cochDPIgad = 45:#eticIDgad = 46:#eticnblet = 47:#eticnblig = 48:#stringIDgad = 49:#spinnblet = 50:
#spinblig = 51:#cochMajmin = 52:#cochMajseul = 53:#traith1 = 55
#eticlarg = 60:#etichaut = 61:#eticX = 62:#eticY = 63:#stringlarg = 64:#stringhaut = 65:#stringX = 66:#stringY = 67:#txtempX = 68:#txtempY = 69
#etictransp = 70:#cocheLHman = 71:#traitvertical = 72:#cocheplacegad = 73:#cocheombre = 74:#trakbartrans = 75
#Framcodegad = 80:#Editcodegad = 81:#FramcodePP = 82:#EditcodePP = 83:#cocheDPIgad = 84:#cochefont = 85:#cochegad = 86:#cochereffontgad = 87
#btPP = 90:#btaid = 91:#btstop = 92
;********** Place_gad *******
#fenpg = 101:#text = 102:#FicDim = 103
Define CURSOR.q ; this is POINT structure by fact
Structure HOOKSTRUCT
vkCode.l
EndStructure
Declare EnumFontFamExProc(*lpelfe.ENUMLOGFONTEX,*lpntme.NEWTEXTMETRICEX,FontType,lParam)
Declare style()
Declare LH(Ft$,tp,st1,st2,st3,st4,st5)
Declare Rgl()
Declare dess (X,Y)
Declare CalculDimGad(tw.D,th)
Declare ConstrucGad()
Declare visuPP()
;¤¤¤¤¤¤¤ D A G ¤¤¤¤¤¤¤¤
#Ldef = 1920:#Hdef = 1080
Global definecrlarg.d = GetSystemMetrics_(#SM_CXSCREEN)
Global definecrht.d = GetSystemMetrics_(#SM_CYSCREEN)
Procedure X(lg.d)
ProcedureReturn lg.d *(definecrlarg.d/#Ldef)
EndProcedure
Procedure Y(h.d)
ProcedureReturn h.d *(definecrht.d /#Hdef)
EndProcedure
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Global Dim L.s(20)
Global NewList NomFont.s()
Global tw.D,th,copfont$,Gadw,Gadh,Ft$,tp,DPauto.b
Global Cgad$,Cidgad$,vCgad$,vCgadF$,vCgadCLF$,vCgadCLT$,HTbar
Global FontID2 = LoadFont(161,"Noto Serif Condensed",X(10),0|0|0|0|0)
Global FontID3 = LoadFont(162,"Noto Serif Condensed",X(10),256|0|0|0|0)
Macro EcriEtict(gad)
SetGadgetFont(gad,FontID3)
EndMacro
;¤¤¤¤ aide ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
L.s(1) = "But du logiciel:" +#CRLF$
L.s(2) = "1° Insérer facilement des gadgets sur une fenêtre en cours de réalisation."+#CRLF$
L.s(3) = "2° Copier le code nécessaire aux gadgets dans votre logiciel en cours de développement, par l'intermédiaire du presse-papiers" +#CRLF$
L.s(4) = "Principe:"+#CRLF$
L.s(5) = "Une fenêtre quadrillée transparente vient se superposer a votre fenêtre en cours de développement, et projette l'ombre du futur gadget sur celle-ci a l'endroit souhaité."+#CRLF$
L.s(6) = "Les paramètres du futur gadget sont alors transmissiblent dans le presse-papiers pour une copie dans votre code."+#CRLF$
L.s(7) = "Utilisation:"+#CRLF$
L.s(8) = "1° Faite apparaitre la fenêtre en cours de développement."+#CRLF$
L.s(9) = "2° Utilisez AUTOGAD."+#CRLF$
L.s(10) = "3° indiquez dans AUTOGAD les dimensions de votre fenêtre de manière à ce que la fenêtre quadrillée se superpose exactement a celle-ci. (Vous pouvez enregistrer les dimensions pour une utilisation ultérieur)"+#CRLF$
L.s(11) = "4° Choisissez un gadget dans la liste. Si le gadget contient du texte, choisissez une police .Ce choix déterminera la largeur, et hauteur de certains gadgets. (La dimension de la fonte peut être automatique en fonction de la résolution de l'écran)"+#CRLF$
L.s(12) = "De même si le gadget le permet choisissez les couleurs de fond et de texte." + #CRLF$
L.s(13) = "La taille du gadget étant définie, l'ombre de celui-ci apparait sur la fenêtre.(La dimension des gadgets peut être automatique en fonction de la résolution de l'écran)"+#CRLF$
L.s(14) = "Vous pouvez déplacer l'ombre à l'aide de la souris, et fixer les paramètres X,Y par un clic droit. Ou plus finement en utilisant"+#CRLF$
L.s(15) = "les touches de direction du clavier. Un appuis sur entrée validera la position X,Y."+#CRLF$
L.s(16) = "5° Faites un choix du code à insérer dans le presse-papiers en cliquant sur une des cases a cocher, et cliquez ensuite sur le bouton presse-papiers."+#CRLF$
L.s(17) = "Remarque:"+#CRLF$
L.s(18) = "La largeur et hauteur de n'importe quel gadget peut se définir manuellement en cochant la case L-H manuel. Si vous programmez des gadgets dans une définition d'écran autre que celle d'origine, les dimensions indiquées dans les lignes du presse papier seront adaptées."+#CRLF$
L.s(19) = "Si vous utilisez le dimensionnement automatique, il est indispensable d'inclure dans votre logiciel le code indiqué par la case a cochée DA, et de coder votre fenêtre comme ceci: OpenWindow(0,X(0),Y(0),X(220),Y(100),Texte$,#PB_Window_SystemMenu)."+#CRLF$
L.s(20) = "Ce logiciel étant compatible avec Winconstructeur_5, si la fenêtre a été réalisé avec celui-ci, le code pour les dimensions automatique n'est pas utile."
For X = 1 To 20
LT$ = LT$ + L.s(X)
Next
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Procedure.l KeyboardHook(nCode, wParam, *p.HOOKSTRUCT)
If WindowMouseX(101)=> 0 And WindowMouseX(101)< (WindowWidth(101,1))And WindowMouseY(101)=> 0 And WindowMouseY(101)< (WindowHeight(101,1)+1)
GetCursorPos_(point.point)
If wParam = #WM_KEYDOWN
Select *p\vkCode
Case 13
SetGadgetText(66,Str(WindowMouseX(101))):SetGadgetText(67,Str((WindowMouseY(101)))) ;inscrit coordonnées souris
style()
Case 37
SetCursorPos_(point\X - 1,point\Y)
Case 38
SetCursorPos_(point\X ,point\Y -1)
Case 39
SetCursorPos_(point\X + 1,point\Y)
Case 40
SetCursorPos_(point\X ,point\Y +1)
EndSelect
EndIf
EndIf
EndProcedure
Procedure GestionCaret(Gadget) ; Gestion du caret dans stringGadget
SendMessage_(GadgetID(Gadget), #EM_GETSEL, @Debut_Position, @Fin_position)
y = Debut_Position
Texte.s = GetGadgetText(Gadget)
x =Len(Texte)
Texte2.s = Left(Texte,y ) + Right(Texte,x-y)
SendMessage_(GadgetID(Gadget), #EM_SETSEL, x, x)
EndProcedure
Procedure MLD_ActCoche(Gad,Act) ;1 = actif 0 = non actif
haut.D = GadgetHeight(Gad): larg.D = haut.D
CreateImage(Gad,larg,haut)
hdc=StartDrawing(ImageOutput(Gad))
;Dessine l'image
DrawingMode(#PB_2DDrawing_Gradient)
BackColor($BEBEBE):FrontColor($FFFFFF)
LinearGradient(0,haut *1.5,0,0)
Box(0,0,larg,haut)
;Position du texte
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID3);font obligatoire en tête de programme
txtcoche$ = Chr(10003)
hautxtC = TextHeight(txtcoche$):largtxtC = TextWidth(txtcoche$)
ctrtxtC = ((larg - largtxtC)/2 )+1; centre le text en largeur
ctxtC = (haut - hautxtC)/2 ; centre le text en hauteur
If Act = 1
SetGadgetState(Gad,1):DrawText(ctrtxtC,ctxtC,txtcoche$,$32CD32)
Else
SetGadgetState(Gad,0)
EndIf
StopDrawing()
SetGadgetAttribute(Gad,#PB_Button_Image,ImageID(Gad))
EndProcedure
Procedure MLD_Coche(Gad,x.D,y.D,larg.D,haut.D,txt$,coultxt,Action) ;le num de gadget ne doit jamais être 0| Action 1 = ok 0 = no ok
ButtonImageGadget(Gad,x,y,haut,haut,0,#PB_Button_Toggle)
CouleurFond = GetSysColor_(#COLOR_3DFACE)
hautbt.D = GadgetHeight(Gad)
plG = x + hautbt.D + 12
txtgad = TextGadget(#PB_Any,plG,y,larg.D,haut.D,txt$,#SS_CENTERIMAGE)
SetGadgetColor(txtgad,#PB_Gadget_BackColor,CouleurFond) :SetGadgetColor(txtgad,#PB_Gadget_FrontColor,coultxt)
SetGadgetFont(txtgad,FontID2);font obligatoire en tête de programme
MLD_ActCoche(Gad,Action)
EndProcedure
Procedure cadrestring(Gad)
SetWindowLongPtr_(GadgetID(Gad),#GWL_EXSTYLE,GetWindowLongPtr_(GadgetID(Gad),#GWL_EXSTYLE)|#WS_EX_STATICEDGE &~ #WS_EX_CLIENTEDGE)
SetWindowPos_(GadgetID(Gad),0,0,0,0,0,#SWP_NOZORDER|#SWP_NOMOVE|#SWP_NOSIZE|#SWP_FRAMECHANGED|#SWP_DRAWFRAME)
EndProcedure
Procedure EnumFontFamExProc(*lpelfe.ENUMLOGFONTEX,*lpntme.NEWTEXTMETRICEX,FontType,lParam)
NomFont$ = PeekS(@*lpelfe\elfFullName)
Select FontType
Case #TRUETYPE_FONTTYPE
Type$ = "[TT] "
EndSelect
dp =0
ForEach NomFont()
If NomFont() = Type$ + NomFont$:dp=1:EndIf
Next
If dp =0
AddElement(NomFont())
NomFont() = Type$ + NomFont$ :Type$ = ""
EndIf
ProcedureReturn #True
EndProcedure
Procedure Gest_cmd()
DisableGadget(22,0):DisableGadget(23,0)
DisableGadget(48,1):DisableGadget(51,1)
DisableGadget(47,0):DisableGadget(50,0)
MLD_ActCoche(71,0)
SendMessage_(GadgetID(64),#EM_SETREADONLY,1,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,1,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FF7F):SetGadgetColor(65,#PB_Gadget_BackColor,$00FF7F)
Select Trim(GetGadgetText(42))
Case "Button","CheckBox","Option","ComboBox","Shortcut"
DisableGadget(22,1):DisableGadget(23,1)
Case "Calendar"
DisableGadget(23,1):DisableGadget(47,1):DisableGadget(50,1)
Case "Editor","ListView","ListIcon","Tree"
DisableGadget(48,0):DisableGadget(51,0)
Case "ExplorerList","ExplorerTree","ProgressBar"
DisableGadget(47,1):DisableGadget(50,1)
MLD_ActCoche(71,1)
SendMessage_(GadgetID(64),#EM_SETREADONLY,0,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,0,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FFFF):SetGadgetColor(65,#PB_Gadget_BackColor,$00FFFF)
Case "Frame"
DisableGadget(22,1):DisableGadget(23,1)
DisableGadget(47,1):DisableGadget(50,1)
MLD_ActCoche(71,1)
SendMessage_(GadgetID(64),#EM_SETREADONLY,0,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,0,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FFFF):SetGadgetColor(65,#PB_Gadget_BackColor,$00FFFF)
Case "Canvas","ButtonImage","ExplorerCombo","IPAddress","Image","OpenGL","Panel","ScrollArea","ScrollBar","TrackBar","Web"
DisableGadget(22,1):DisableGadget(23,1)
DisableGadget(47,1):DisableGadget(50,1)
MLD_ActCoche(71,1)
SendMessage_(GadgetID(64),#EM_SETREADONLY,0,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,0,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FFFF):SetGadgetColor(65,#PB_Gadget_BackColor,$00FFFF)
Case "Container"
DisableGadget(23,1)
DisableGadget(47,1):DisableGadget(50,1)
MLD_ActCoche(71,1)
SendMessage_(GadgetID(64),#EM_SETREADONLY,0,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,0,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FFFF):SetGadgetColor(65,#PB_Gadget_BackColor,$00FFFF)
EndSelect
style()
EndProcedure
Procedure VisuEmumFont()
lf.LOGFONT
lf\lfCharset = #DEFAULT_CHARSET
hdc = GetDC_(WindowID(1))
EnumFontFamiliesEx_(hdc,lf,@EnumFontFamExProc(),0,0)
ReleaseDC_(WindowID(1),hdc)
SortList( NomFont.s(),#PB_Sort_Ascending)
ForEach NomFont()
AddGadgetItem(20,-1,NomFont())
Next
EndProcedure
Procedure colorgadfond()
If GetGadgetState(22) = 1
Couleur = ColorRequester()
If couleur > -1:SetGadgetColor(30,#PB_Gadget_BackColor,couleur):EndIf
Else
SetGadgetColor(30,#PB_Gadget_BackColor,#PB_Default)
EndIf
EndProcedure
Procedure colorgadtxt()
If GetGadgetState(23) = 1
Couleur = ColorRequester()
If couleur > -1:SetGadgetColor(30,#PB_Gadget_FrontColor,couleur):EndIf
Else
SetGadgetColor(30,#PB_Gadget_FrontColor,#PB_Default)
EndIf
EndProcedure
Procedure testPolice(Ft$,st1,St2,st3,st4,st5)
SetGadgetText(29,"Test police: taille 12:"+ Ft$)
FontID5 = LoadFont(170,Ft$,13,st1|St2|st3|st4|st5)
SetGadgetFont(30,FontID5)
EndProcedure
Procedure style()
If GetGadgetState(24) = 1
MLD_ActCoche(24,1):st1 = #PB_Font_Bold
Else
MLD_ActCoche(24,0):st1 = 0
EndIf
If GetGadgetState(25) = 1
MLD_ActCoche(25,1):st2 = #PB_Font_Italic
Else
MLD_ActCoche(25,0):st2 = 0
EndIf
If GetGadgetState(26) = 1
MLD_ActCoche(26,1):st3 = #PB_Font_Underline
Else
MLD_ActCoche(26,0):st3 = 0
EndIf
If GetGadgetState(27) = 1
MLD_ActCoche(27,1):st4 = #PB_Font_StrikeOut
Else
MLD_ActCoche(27,0):st4 = 0
EndIf
If GetGadgetState(28) = 1
MLD_ActCoche(28,1):st5 = #PB_Font_HighQuality
Else
MLD_ActCoche(28,0):st5 = 0
EndIf
testPolice(Ft$,st1,St2,st3,st4,st5)
LH(Ft$,tp,st1,st2,st3,st4,st5)
EndProcedure
Procedure LH(Ft$,tp,st1,st2,st3,st4,st5)
tw.D = 0:th = 0
FontID10 = LoadFont(202,Ft$,tp,st1|st2|st3|st4|st5) ;******************
If GetGadgetState(38) = 1
;FontID10 = LoadFont(202,Ft$,X(tp),st1|st2|st3|st4|st5)
Lf$ = "X(" + Str(tp) + ")"
Else
;FontID10 = LoadFont(202,Ft$,tp,st1|st2|st3|st4|st5)
Lf$ = Str(tp)
EndIf
For t= 52 To 53
If GetGadgetState(t) = 1:Break:EndIf
Next
Select t
Case 52
a$ ="ABwbikMplR"
Case 53
a$ ="ABWJLIPYFS"
EndSelect
StartDrawing(CanvasOutput(31))
DrawingFont(FontID10)
DrawText(31, 80,a$,$0, 0)
tw.D = (TextWidth(a$)/10)
th = TextHeight(a$)
StopDrawing()
If GetGadgetText(35) = "" And GetGadgetText(36) = ""
copfont$ = "FontID = LoadFont(#Police," + Chr(34) + Ft$+ Chr(34) + "," + Lf$ + "," + Str(st1) + "|" + Str(st2)+ "|" + Str(st3)+ "|" + Str(st4)+ "|" + Str(st5)+ ")"
EndIf
If GetGadgetText(35) <> "" And GetGadgetText(36) = ""
copfont$ = "FontID = LoadFont("+ GetGadgetText(35) + "," + Chr(34) + Ft$+ Chr(34) + "," + Lf$ + "," + Str(st1) + "|" + Str(st2)+ "|" + Str(st3)+ "|" + Str(st4)+ "|" + Str(st5)+ ")"
EndIf
If GetGadgetText(35) = "" And GetGadgetText(36) <> ""
copfont$ = GetGadgetText(36) + " = LoadFont(#Police," + Chr(34) + Ft$+ Chr(34) + "," + Lf$ + "," + Str(st1) + "|" + Str(st2)+ "|" + Str(st3)+ "|" + Str(st4)+ "|" + Str(st5)+ ")"
EndIf
If GetGadgetText(35) <> "" And GetGadgetText(36) <> ""
copfont$ = GetGadgetText(36) + " = LoadFont("+ GetGadgetText(35) + "," + Chr(34) + Ft$+ Chr(34) + "," + Lf$ + "," + Str(st1) + "|" + Str(st2)+ "|" + Str(st3)+ "|" + Str(st4)+ "|" + Str(st5)+ ")"
EndIf
SetGadgetText(37,copfont$)
CalculDimGad(tw.D,th)
EndProcedure
Procedure Gadig();indique gadget et ID gad
Cgad$ = GetGadgetText(42):Cidgad$ = GetGadgetText(49)
If Cidgad$ = "";ID gad
Cidgad$ = "#Gadget"
EndIf
ConstrucGad()
EndProcedure
Procedure CalculDimGad(tw.D,th)
If GetGadgetState(71) <> 1 ;ne tient compte que des gadget dont la L-H est donné en automatique
nbl = GetGadgetState(50);nombre de lettres
nblg = GetGadgetState(51);nombre de lignes
Select Cgad$
Case "Button"
Gadw = Round((tw.D*nbl)+2,#PB_Round_Up);*******************
Gadh = th + 7;*******************************************
Case "Calendar"
Gadw = 320:Gadh = 260
Case "Editor","Spin"
Gadw = Round(tw.D*nbl,#PB_Round_Up)+ 40
Gadh = (th * nblg)+ (th * 0.38)
Case "ComboBox","ListIcon","ListView"
If GetGadgetState(53) = 1;majuscule
Gadw = Round((tw.D*nbl),#PB_Round_Up) + 30
Else
Gadw = Round(tw.D*nbl,#PB_Round_Up)+ 25
EndIf
If Cgad$ = "ComboBox": Gadh = (th * nblg)+7:EndIf
If Cgad$ = "ListIcon": Gadh = ((th + 8) * nblg)-6:EndIf
If Cgad$ = "ListView": Gadh = ((th + 1.2) * nblg)-2:EndIf
Case "Date"
Gadw = Round((tw.D*nbl),#PB_Round_Up) + 40
Gadh = th + 6
Case "Tree"
If GetGadgetState(53) = 1;majuscule
Gadw = Round((tw.D*nbl),#PB_Round_Up) + 55
Else
Gadw = Round(tw.D*nbl,#PB_Round_Up)+ 40
EndIf
Gadh = ((th+4) * nblg)
Case "CheckBox","Option"
Gadw = Round((tw.D*nbl)+ 13,#PB_Round_Up)
Gadh = th + 6
Case "HyperLink","String"
Gadw = Round((tw.D*nbl)+ 6,#PB_Round_Up)
Gadh = th + 6
Case "Text","Frame","Shortcut"
Gadw = Round((tw.D*nbl),#PB_Round_Up)
Gadh = th + 2
EndSelect
If DPauto.b = 1;drapeau dims auto
Gadw = X(Gadw): Gadh = Y(Gadh)
EndIf
SetGadgetText(64,Str(Gadw)):SetGadgetText(65,Str(Gadh))
Else
Gadw = Val(GetGadgetText(64)):Gadh = Val(GetGadgetText(65))
EndIf
ConstrucGad()
EndProcedure
Procedure ConstrucGad()
GX$ = GetGadgetText(66):GY$ = GetGadgetText(67):Gw$ = Str(Gadw):Gh$ = Str(Gadh)
If GetGadgetState(45) = 1
KX.d = (definecrlarg /#Ldef):KY.d = (definecrht /#Hdef)
GX$ = Str(ValD(GX$)/KX.d):GY$ = Str(ValD(GY$)/KY.d)
Gw$ = Str(Gadw/KX):Gh$ = Str(Gadh/KY)
;Debug Gw$;******************
GX$ = "X(" + GX$ + ")":GY$ = "Y(" + GY$ + ")" :Gw$ = "X(" + Gw$ + ")" :Gh$ = "Y(" + Gh$ + ")"
EndIf
If GetGadgetText(36) = "";ID font
Fid$ = "FontID"
Else
Fid$ = GetGadgetText(36)
EndIf
ClearGadgetItems(81)
Select Cgad$
Case "Editor","ListView","Canvas","Calendar","ComboBox","Container","Date","IPAddress","OpenGL","Panel","Tree"
vCgad$ = Cgad$ + "Gadget(" + Cidgad$ + "," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + ")"
Case "Button","String","Text","CheckBox","Option","ExplorerCombo","ExplorerList","ExplorerTree","Frame"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + ",Texte$)"
Case "HyperLink"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + "," + "Texte$" + ",Couleur)"
Case "ButtonImage","Image"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + ",ImageID())"
Case "ProgressBar","Spin","TrackBar"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ +"," + "Minimum" + "," + "Maximum" + ")"
Case "ScrollArea"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + "," + "LargeurZoneInterne" + "," + "HauteurZoneInterne"+ "," + "ValeurDeplacement" + ")"
Case "ScrollBar"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + "," + "Minimum" + "," + "Maximum"+ "," + "LongueurPage" + ")"
Case "Shortcut"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + ",Raccourci)"
Case "ListIcon"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + "," + "Texte$" + "," + Gw$ + "- X(22)" + ")"
Case "Web"
vCgad$ = Cgad$ + "Gadget("+ Cidgad$ +"," + GX$ + "," + GY$ + "," + Gw$ + "," + Gh$ + ",URL$)"
EndSelect
AddGadgetItem (81,-1,vCgad$)
Select Cgad$
Case "ButtonImage", "Calendar"
Default
vCgadF$ = "SetGadgetFont(" + Cidgad$ + "," + Fid$ +")"
AddGadgetItem (81,-1,vCgadF$)
EndSelect
If GetGadgetState(22) = 1 And IsWindowEnabled_(GadgetID(22))=1 ;coul fond
Coulf$ = Hex(GetGadgetColor(30,#PB_Gadget_BackColor))
vCgadCLF$ = "SetGadgetColor(" + Cidgad$ + ",#PB_Gadget_BackColor,$" + Coulf$ + ")"
AddGadgetItem (81,-1,vCgadCLF$)
EndIf
If GetGadgetState(23) = 1 And IsWindowEnabled_(GadgetID(22))=1;coul text
CoulT$ = Hex(GetGadgetColor(30,#PB_Gadget_FrontColor))
vCgadCLT$ = "SetGadgetColor(" + Cidgad$ + ",#PB_Gadget_FrontColor,$" + CoulT$ + ")"
AddGadgetItem (81,-1,vCgadCLT$)
EndIf
visuPP()
EndProcedure
Procedure gest_cochePP(IDcoche)
MLD_ActCoche(IDcoche,1)
For z = 84 To 87
If z <> IDcoche:MLD_ActCoche(z,0):EndIf
Next
EndProcedure
Procedure visuPP()
ClearGadgetItems(83)
SetGadgetColor(83,#PB_Gadget_FrontColor,$0)
If GetGadgetState(84) = 1;DA
sl$ = Chr(13) + Chr(10)
D1$ =";¤¤¤¤¤¤¤ D A G ¤¤¤¤¤¤¤¤"
D2$ ="#Ldef = 1920:#Hdef = 1080"
D3$ ="Global definecrlarg.d = GetSystemMetrics_(#SM_CXSCREEN)"
D4$ ="Global definecrht.d = GetSystemMetrics_(#SM_CYSCREEN)"
D5$ = "Procedure X(lg.d)"
D6$ = " ProcedureReturn lg.d *(definecrlarg.d/#Ldef)"
D7$ = "EndProcedure"
D8$ = "Procedure Y(h.d)"
D9$ = " ProcedureReturn h.d *(definecrht.d /#Hdef)"
D10$ = "EndProcedure"
D11$ = ";¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤"
Dt$ = D1$ + sl$ + D2$ +sl$ + D3$ + sl$ + D4$ + sl$ + D5$ + sl$ + D6$ + sl$ + D7$ + sl$ + D8$ + sl$ + D9$ + sl$ + D10$ + sl$ + D11$
AddGadgetItem (83,-1,Dt$)
EndIf
If GetGadgetState(85) = 1
AddGadgetItem (83,-1,copfont$)
EndIf
If GetGadgetState(86) = 1 Or GetGadgetState(87) = 1
AddGadgetItem (83,-1,vCgad$)
If GetGadgetState(87) = 1 :AddGadgetItem (83,-1,vCgadF$):EndIf
If GetGadgetState(22) = 1 And IsWindowEnabled_(GadgetID(22))=1:AddGadgetItem (83,-1,vCgadCLF$):EndIf
If GetGadgetState(23) = 1 And IsWindowEnabled_(GadgetID(23))=1:AddGadgetItem (83,-1,vCgadCLT$):EndIf
EndIf
EndProcedure
Procedure prfich();présence fichier dims
If GetGadgetColor(7,#PB_Gadget_BackColor) = 65407
For c = 7 To 10
SetGadgetColor(c,#PB_Gadget_BackColor,$00A5FF)
Next
EndIf
EndProcedure
;¤¤¤¤¤¤¤¤ Place_gad ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Procedure PG()
Hmax = WindowHeight(1, #PB_Window_FrameCoordinate):Hzi = WindowHeight(1, #PB_Window_InnerCoordinate)
HTbar = (Hmax - Hzi)-2
If ReadFile(103,"Dims_AutoGad")<> 0
While Eof(103) = 0
a$ = ReadString(103) ;Extraction des dims
Wend
CloseFile(103)
If Val(StringField(a$,6,",")) = 1
MLD_ActCoche(45,1)
DPauto.b = 1;drapeau dims auto
SetGadgetState (7,X(Val(StringField(a$,1,",")))):SetGadgetState (8,Y(Val(StringField(a$,2,",")))):SetGadgetState (9,X(Val(StringField(a$,3,",")))):SetGadgetState (10,Y(Val(StringField(a$,4,","))))
Else
DPauto.b = 0
SetGadgetState (7,Val(StringField(a$,1,","))):SetGadgetState (8,Val(StringField(a$,2,","))):SetGadgetState (9,Val(StringField(a$,3,","))):SetGadgetState (10,Val(StringField(a$,4,",")))
EndIf
For c = 7 To 10
SetGadgetColor(c,#PB_Gadget_BackColor,$00FF7F)
Next
If Val(StringField(a$,5,",")) = 1:posF = 0:MLD_ActCoche(11,1): Else :posF = HTbar:EndIf ;posF = fenêtre avec ou sans barre de titre
Else
SetGadgetState (7,650):SetGadgetState (8,200):SetGadgetState (9,700):SetGadgetState (10,400)
For c = 7 To 10
SetGadgetColor(c,#PB_Gadget_BackColor,$FFFF)
Next
EndIf
Xp= Val(GetGadgetText(7))+2:Yp= Val(GetGadgetText(8)) + posF :Lr= Val(GetGadgetText(9)):Ht= Val(GetGadgetText(10))
If Val(StringField(a$,7,",")) = 1:scrn = #PB_Window_ScreenCentered :Else :scrn = 0:EndIf;pour screencentered
Define hWPG = OpenWindow(101,Xp,Yp,Lr,Ht, "",#PB_Window_BorderLess|scrn)
SetWindowColor(101,$FFF1F1)
StickyWindow(101,1)
HideWindow(101,0)
SetWindowLong_(WindowID(101), #GWL_EXSTYLE, GetWindowLong_(WindowID(101), #GWL_EXSTYLE) | #WS_EX_LAYERED);transparence:
SetLayeredWindowAttributes_(WindowID(101), 0,140, #LWA_ALPHA)
LoadFont(1, "Noto Sans Condensed", 7,#PB_Font_HighQuality)
If DPauto.b = 1
TextGadget(102,10,10,X(Val(GetGadgetText(64))),Y(Val(GetGadgetText(65))),"");*************
Else
TextGadget(102,10,10,Val(GetGadgetText(64)),Val(GetGadgetText(65)),"");*************
EndIf
SetGadgetColor(102,#PB_Gadget_BackColor,$D3D3D3)
Rgl()
EndProcedure
Procedure dess(X,Y)
If GetGadgetState(74) = 1
If X > 0 And Y > 0
HideGadget(102,0)
; If DPauto.b = 1
; ResizeGadget(102, X, Y,X(Val(GetGadgetText(64))),Y(Val(GetGadgetText(65))))
; Debug X(Val(GetGadgetText(64)))
; Else
ResizeGadget(102, X, Y,Val(GetGadgetText(64)),Val(GetGadgetText(65)))
; EndIf
Rgl()
Else
HideGadget(102,1)
Rgl()
EndIf
EndIf
EndProcedure
Procedure Rgl()
Protected i.i,x.i,w.i
UpdateWindow_(WindowID(101))
StartDrawing(WindowOutput(101))
DrawingFont(FontID(1))
For x=0 To WindowWidth(101) Step 20
Line(x,0,1,10,$0000FF);vingtaine haut
DrawText(x-2,12,Str(x),$0,$FFF1F1);chiffres du haut
Line(x,WindowHeight(101)-1,1,-10,$0000FF);vingtaine bas
DrawText(x-2,WindowHeight(101)-20,Str(x),$0,$FFF1F1) ;chiffres du bas
Next
For xx= 10 To WindowWidth(101) Step 20
If xx < = (WindowWidth(101)-40)
Line (xx+20,20,1,WindowHeight(101)-10,$FFBCBC);quadriage
EndIf
Line (xx,0,1,5,$CD0000);dizaine haut
Line(xx,WindowHeight(101)-1,1,-5,$CD0000);dizaine bas
Next
For y = 30 To (WindowHeight(101) -30)Step 20
Line(1,y,10,1,$0000FF);vingtaine gauche
DrawText(15,y-5,Str(y),$0,$FFF1F1);chiffres gauche
Line(WindowWidth(101)-1,y,-10,1,$0000FF);vingtaine droit
DrawText(WindowWidth(101)-20,y-5,Str(y),$0,$FFF1F1);chifres droit
Next
For yy = 40 To (WindowHeight(101) -30)Step 20
Line (6,yy,WindowWidth(101)-10,1,$FFBCBC);quadriage h
Line (1,yy,5,1,$CD0000);dizaine gauche
Line(WindowWidth(101)-1,yy,-5,1,$CD0000);dizaine droit
Next
StopDrawing()
UpdateWindow_(WindowID(101))
EndProcedure
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Procedure AjustPG(indpg.B)
If indpg.B = 1
If GetGadgetState(11) = 1
ResizeWindow(101,Val(GetGadgetText(7))+2,Val(GetGadgetText(8)),#PB_Ignore,#PB_Ignore)
Else
ResizeWindow(101,Val(GetGadgetText(7))+2,Val(GetGadgetText(8))+ HTbar,#PB_Ignore,#PB_Ignore)
EndIf
EndIf
If indpg.B = 2
ResizeWindow(101,#PB_Ignore,#PB_Ignore,Val(GetGadgetText(9)),Val(GetGadgetText(10)))
InvalidateRect_(WindowID(101), 0, 1):Rgl()
EndIf
EndProcedure
Procedure PP()
ClearClipboard()
SetGadgetColor(83,#PB_Gadget_FrontColor,$FFFFFF)
SetClipboardText(GetGadgetText(83))
EndProcedure
Procedure EnrDim()
If GetGadgetState(11) = 1:pf$ = "1": Else :pf$ = "0":EndIf
CreateFile(103,"Dims_AutoGad")
Dim$ = GetGadgetText(7) + "," + GetGadgetText(8) + "," + GetGadgetText(9) + "," + GetGadgetText(10) + "," + pf$ + ","
FileSeek(103, Lof(103))
WriteString(103,Dim$)
CloseFile(103)
For c = 7 To 10
SetGadgetColor(c,#PB_Gadget_BackColor,$00FF7F)
Next
EndProcedure
Define hWndFP = OpenWindow(1,X(0),Y(10),X(503),Y(985),"AUTOGAD",#PB_Window_MinimizeGadget)
StickyWindow(1,1)
CanvasGadget(31,0,0,1000,500):HideGadget(31,1)
FrameGadget(2,X(10),Y(2),X(485),Y(62),"Dimensions de la fenêtre en cours de conception")
SetGadgetFont(2,FontID3)
TextGadget(3,X(27),Y(27),X(9),Y(20),"X")
TextGadget(4,X(110),Y(27),X(9),Y(20),"Y")
TextGadget(5,X(190),Y(27),X(10),Y(21),"L")
TextGadget(6,X(270),Y(27),X(10),Y(21),"H")
SpinGadget (7,X(45),Y(23),X(55),Y(26),0, 3000,#PB_Spin_Numeric)
SpinGadget (8,X(128),Y(23),X(55),Y(26),0, 3000,#PB_Spin_Numeric)
SpinGadget (9,X(208),Y(23),X(55),Y(26),20, 3000,#PB_Spin_Numeric)
SpinGadget (10,X(288),Y(23),X(55),Y(26),20, 3000,#PB_Spin_Numeric)
For x = 3 To 10
EcriEtict(x)
If X > 6:cadrestring(X):EndIf
Next
MLD_Coche(11,X(360),Y(13),X(95),Y(20),"Fenêtre sans titre",$CD0000,0)
ButtonGadget(12,X(360),Y(37),X(50),Y(22),"Enr"):GadgetToolTip(12,"Enregistre les dimensions pour une utilisation ultérieur")
ButtonGadget(13,X(435),Y(37),X(50),Y(22),"Raz"):GadgetToolTip(13,"Remet a zéro les dimensions")
TextGadget(14,X(20),Y(62),X(216),Y(21),"")
TextGadget(15,X(320),Y(62),X(59),Y(21),"Taille")
TextGadget(16,X(410),Y(62),X(65),Y(21),"Couleurs")
TextGadget(17,X(20),Y(190),X(43),Y(21),"Style:")
For x = 12 To 17
EcriEtict(x)
Next
TextGadget(18,X(400),Y(85),X(75),Y(1),"");trait1
SetGadgetColor(18,#PB_Gadget_BackColor,$0)
TextGadget(19,X(400),Y(170),X(75),Y(1),"")
SetGadgetColor(19,#PB_Gadget_BackColor,$0)
ListViewGadget(20,X(10),Y(85),X(265),Y(96))
SetGadgetFont(20,FontID2)
SetGadgetColor(20,#PB_Gadget_BackColor,$B2DAD1)
SetGadgetColor(20,#PB_Gadget_FrontColor,$000080)
cadrestring(20)
VisuEmumFont()
SetGadgetText(20,"[TT] Tahoma");sélectionne
SetGadgetText(14,"Choix polices" + Space(6)+ "Nb " + Str(CountGadgetItems(20)))
ListViewGadget(21,X(318),Y(85),X(50),Y(96))
SetGadgetFont(21,FontID2)
SetGadgetColor(21,#PB_Gadget_BackColor,$B2DAD1)
SetGadgetColor(21,#PB_Gadget_FrontColor,$000080)
cadrestring(21)
For z = 6 To 70
AddGadgetItem(21,-1,Str(z))
Next
SetGadgetText(21,"12");sélectionne
MLD_Coche(22,X(405),Y(95),X(85),Y(20),"Fond",$CD0000,0)
MLD_Coche(23,X(405),Y(140),X(85),Y(20),"Texte",$CD0000,0)
MLD_Coche(24,X(63),Y(188),X(27),Y(20),"G",$CD0000,0)
MLD_Coche(25,X(132),Y(188),X(20),Y(20),"I",$CD0000,0)
MLD_Coche(26,X(190),Y(188),X(25),Y(20),"S",$CD0000,0)
MLD_Coche(27,X(255),Y(188),X(30),Y(20),"B",$CD0000,0)
MLD_Coche(28,X(325),Y(188),X(30),Y(20),"HQ",$CD0000,0)
MLD_Coche(38,X(395),Y(188),X(60),Y(20),"DA fonte",$CD0000,1);coche DA fonte
GadgetToolTip(38,"Dimensions Automatique de la fonte (DAf)")
FrameGadget(29,X(10),Y(210),X(480),Y(80),"")
EcriEtict(29)
TextGadget(30,X(15),Y(235),X(470),Y(47),"AZuytmwxc1230TRF45 ЯЍ ΩΣ WX")
FrameGadget(32,X(10),Y(300),X(485),Y(70),"Code fonte")
EcriEtict(32)
TextGadget(33,X(100),Y(315),X(100),Y(17),"Num de police")
TextGadget(34,X(270),Y(315),X(80),Y(17),"ID fonte")
StringGadget(35,X(205),Y(313),X(55),Y(20),"",#PB_String_Numeric|#ES_CENTER)
SendMessage_(GadgetID(35),#EM_LIMITTEXT,5,0)
cadrestring(35):SetGadgetColor(35,#PB_Gadget_BackColor,$00FFFF)
StringGadget(36,X(330),Y(313),X(100),Y(20),"",#ES_CENTER);id fonte
SendMessage_(GadgetID(36),#EM_LIMITTEXT,13,0)
cadrestring(36):SetGadgetColor(36,#PB_Gadget_BackColor,$00FFFF)
For x = 32 To 36
EcriEtict(x)
Next
TextGadget(37,X(13),Y(340),X(480),Y(22),"")
cadrestring(37):SetGadgetColor(37,#PB_Gadget_BackColor,$00FF7F)
SetGadgetFont(37,FontID2)
FrameGadget(40,X(10),Y(370),X(485),Y(270),"Paramètres Gadget")
EcriEtict(40)
TextGadget(41,X(15),Y(390),X(100),Y(17),"Choix gadgets")
EcriEtict(41)
ListViewGadget(42,X(15),Y(410),X(120),Y(95));list gadgets
SetGadgetFont(42,FontID2)
cadrestring(42):SetGadgetColor(42,#PB_Gadget_BackColor,$B2DAD1):SetGadgetColor(42,#PB_Gadget_BackColor,$B2DAD1)
AddGadgetItem (42,-1,"Button"):AddGadgetItem (42,-1,"ButtonImage"):AddGadgetItem (42,-1,"Calendar")
AddGadgetItem (42,-1,"Canvas"):AddGadgetItem (42,-1,"CheckBox"):AddGadgetItem (42,-1,"ComboBox"):AddGadgetItem (42,-1,"Container")
AddGadgetItem (42,-1,"Date"):AddGadgetItem (42,-1,"Editor"):AddGadgetItem (42,-1,"ExplorerCombo"): AddGadgetItem (42,-1,"ExplorerList")
AddGadgetItem (42,-1,"ExplorerTree"):AddGadgetItem (42,-1,"Frame"):AddGadgetItem (42,-1,"HyperLink"):AddGadgetItem (42,-1,"Image")
AddGadgetItem (42,-1,"IPAddress"):AddGadgetItem (42,-1,"ListIcon"):AddGadgetItem (42,-1,"ListView"):AddGadgetItem (42,-1,"OpenGL")
AddGadgetItem (42,-1,"Option"):AddGadgetItem (42,-1,"Panel"):AddGadgetItem (42,-1,"ProgressBar"):AddGadgetItem (42,-1,"ScrollArea")
AddGadgetItem (42,-1,"ScrollBar"):AddGadgetItem (42,-1,"Shortcut"):AddGadgetItem (42,-1,"Spin"):AddGadgetItem (42,-1,"String")
AddGadgetItem (42,-1,"Text"):AddGadgetItem (42,-1,"TrackBar"):AddGadgetItem (42,-1,"Tree"):AddGadgetItem (42,-1,"Web")
SetGadgetText(42,"Text");sélectionne
MLD_Coche(45,X(215),Y(385),X(230),Y(20),"Dimensions Automatique des gadgets",$CD0000,1);coche DAg gadgets
GadgetToolTip(45,"Dimensions Automatique des gadgets,en fonction de la définition ecran (DAg)")
TextGadget(46,X(140),Y(410),X(80),Y(17),"ID Gadget")
TextGadget(47,X(140),Y(438),X(80),Y(17),"Nb lettre")
TextGadget(48,X(140),Y(473),X(80),Y(17),"Nb ligne")
DisableGadget(48,1)
StringGadget(49,X(215),Y(410),X(130),Y(20),"",#ES_CENTER);ID gad
SendMessage_(GadgetID(49),#EM_LIMITTEXT,16,0)
cadrestring(49):SetGadgetColor(49,#PB_Gadget_BackColor,$00FFFF)
SpinGadget(50,X(215),Y(435),X(130),Y(28),1,5000,#PB_Spin_Numeric|#PB_Spin_ReadOnly);nb lettre
SetGadgetColor(50,#PB_Gadget_BackColor,$00FFFF):SetGadgetState (50,1)
SpinGadget(51,X(215),Y(470),X(130),Y(28),1,1000,#PB_Spin_Numeric|#PB_Spin_ReadOnly);nb lig
SetGadgetColor(51,#PB_Gadget_BackColor,$00FFFF):SetGadgetState (51,1)
DisableGadget(51,1)
For x = 46 To 51
EcriEtict(x)
Next
MLD_Coche(52,X(360),Y(420),X(85),Y(20),"Maj/Minus",$CD0000,1)
MLD_Coche(53,X(360),Y(459),X(85),Y(20),"Maj seulement",$CD0000,0)
TextGadget(55,X(100),Y(510),X(303),Y(1),"");trait_H
SetGadgetColor(55,#PB_Gadget_BackColor,$A9A9A9)
TextGadget(60,X(15),Y(520),X(80),Y(17),"Largeur")
TextGadget(61,X(15),Y(545),X(80),Y(17),"Hauteur")
TextGadget(62,X(15),Y(595),X(110),Y(17),"Emplacement X:")
TextGadget(63,X(175),Y(595),X(20),Y(17),"Y:")
StringGadget(64,X(95),Y(518),X(100),Y(20),"",#PB_String_Numeric|#ES_CENTER|#PB_String_ReadOnly);larg
SendMessage_(GadgetID(64),#EM_LIMITTEXT,4,0)
cadrestring(64):SetGadgetColor(64,#PB_Gadget_BackColor,$00FF7F)
StringGadget(65,X(95),Y(543),X(100),Y(20),"",#PB_String_Numeric|#ES_CENTER|#PB_String_ReadOnly);haut
SendMessage_(GadgetID(65),#EM_LIMITTEXT,4,0)
cadrestring(65):SetGadgetColor(65,#PB_Gadget_BackColor,$00FF7F)
StringGadget(66,X(122),Y(593),X(45),Y(20),"0",#PB_String_Numeric|#ES_CENTER);X
SendMessage_(GadgetID(66),#EM_LIMITTEXT,4,0)
cadrestring(66):SetGadgetColor(66,#PB_Gadget_BackColor,$00FFFF)
StringGadget(67,X(195),Y(593),X(45),Y(20),"0",#PB_String_Numeric|#ES_CENTER);y
SendMessage_(GadgetID(67),#EM_LIMITTEXT,4,0)
cadrestring(67):SetGadgetColor(67,#PB_Gadget_BackColor,$00FFFF)
TextGadget(68,X(121),Y(613),X(45),Y(17),"0",#PB_Text_Center)
TextGadget(69,X(195),Y(613),X(45),Y(17),"0",#PB_Text_Center)
TextGadget(70,X(323),Y(575),X(95),Y(17),"Transparence")
For x = 60 To 70
EcriEtict(x)
Next
MLD_Coche(71,X(15),Y(570),X(100),Y(20),"L - H manuel",$CD0000,0)
TextGadget(72,X(252),Y(525),X(1),Y(65),"");trait_V
SetGadgetColor(72,#PB_Gadget_BackColor,$A9A9A9)
MLD_Coche(73,X(263),Y(520),X(150),Y(20),"Utilise Place_Gadget ",$CD0000,1)
MLD_Coche(74,X(263),Y(550),X(150),Y(20),"Ombre du Gadget ",$CD0000,1)
TrackBarGadget(75,X(263),Y(600),X(230),Y(30),100,255)
SetGadgetState(75,140)
FrameGadget(80,X(10),Y(640),X(485),Y(112),"Code Gadget")
EcriEtict(80)
EditorGadget (81,X(15),Y(660),X(475),Y(85),#PB_Editor_ReadOnly)
SetGadgetColor(81,#PB_Gadget_BackColor,$00FF7F):SetGadgetFont(81,FontID2)
FrameGadget(82,X(10),Y(755),X(485),Y(190),"Code pour le presse-papiers")
EcriEtict(82)
EditorGadget (83,X(15),Y(775),X(475),Y(130),#PB_Editor_ReadOnly)
SetGadgetColor(83,#PB_Gadget_BackColor,$BFDD35):SetGadgetFont(83,FontID2)
MLD_Coche(84,X(30),Y(915),X(70),Y(20),"Code DA",$CD0000,0)
MLD_Coche(85,X(140),Y(915),X(50),Y(20),"Fonte",$CD0000,0)
MLD_Coche(86,X(230),Y(915),X(50),Y(20),"Gadget",$CD0000,1)
MLD_Coche(87,X(330),Y(915),X(130),Y(20),"Gadget + ref Fonte",$CD0000,0)
ButtonGadget(90,X(225),Y(950),X(110),Y(30),"Presse-papiers")
EcriEtict(90)
ButtonGadget(91,X(335),Y(950),X(80),Y(30),"Aide")
EcriEtict(91)
ButtonGadget(92,X(415),Y(950),X(80),Y(30),"Stop")
EcriEtict(92)
If Left(GetGadgetText(20),3) = "[TT"
Ft$ = Mid(GetGadgetText(20),7,Len(GetGadgetText(20)));Si TT enlève le type
Else
Ft$ = GetGadgetText(20)
EndIf
tp =Val(GetGadgetText(21))
Gadig()
style()
PG()
Repeat
GetCursorPos_(@CURSOR)
hWnd = WindowFromPoint_(CURSOR) ; get window handle under specified cursor pos (excluding hidden/disabled windows)
If hWnd = WindowID(1)
DestroyCursor_(cur0)
SetActiveWindow(1):dess(0,0)
EndIf
If hWnd = WindowID(101)
SetActiveWindow(101):cur0 = LoadCursor_(0, #IDC_CROSS):SetCursor_(cur0)
SetWindowsHookEx_(#WH_KEYBOARD_LL,@KeyboardHook(),GetModuleHandle_(0),0)
dess(WindowMouseX(101),WindowMouseY(101)):SetGadgetText(68,Str(WindowMouseX(101))):SetGadgetText(69,Str(WindowMouseY(101)))
EndIf
Event = WaitWindowEvent()
Select EventWindow()
Case 1 ;fenetre principale
If Event = #PB_Event_CloseWindow:DestroyCursor_(cur0): Break : EndIf
If GetWindowState(1) = #PB_Window_Minimize
HideWindow(101,1):dpw.b = 1
EndIf
If GetWindowState(1) = #PB_Window_Normal And dpw.b = 1
dpw.b = 0:HideWindow(101,0):Rgl()
EndIf
If Event = #PB_Event_Gadget
Select EventGadget()
Case 7;X dimfen
prfich()
Select EventType()
Case #PB_EventType_Up
AjustPG(1)
Case #PB_EventType_Down
AjustPG(1)
Case #PB_EventType_Change
AjustPG(1)
EndSelect
Case 8;Y dimfen
prfich()
Select EventType()
Case #PB_EventType_Up
AjustPG(1)
Case #PB_EventType_Down
AjustPG(1)
Case #PB_EventType_Change
AjustPG(1)
EndSelect
Case 9; larg dimfen
prfich()
Select EventType()
Case #PB_EventType_Up
AjustPG(2)
Case #PB_EventType_Down
AjustPG(2)
Case #PB_EventType_Change
AjustPG(2)
EndSelect
Case 10; larg dimfen
prfich()
Select EventType()
Case #PB_EventType_Up
AjustPG(2)
Case #PB_EventType_Down
AjustPG(2)
Case #PB_EventType_Change
AjustPG(2)
EndSelect
Case 11;coche fenetre sans titre
If GetGadgetState(11) = 1
MLD_ActCoche(11,1)
ResizeWindow(101,#PB_Ignore,Val(GetGadgetText(8)) ,#PB_Ignore,#PB_Ignore)
If ReadFile(103,"Dims_AutoGad")<> 0 :EnrDim():EndIf
Else
MLD_ActCoche(11,0)
ResizeWindow(101,#PB_Ignore,Val(GetGadgetText(8)) + HTbar ,#PB_Ignore,#PB_Ignore)
If ReadFile(103,"Dims_AutoGad")<> 0 :EnrDim():EndIf
EndIf
Case 12;bt enr dim
EnrDim()
Case 13 ;raz dims
DeleteFile("Dims_AutoGad")
PG()
Case 20;liste Police
If Left(GetGadgetText(20),3) = "[TT"
Ft$ = Mid(GetGadgetText(20),7,Len(GetGadgetText(20)));Si TT enlève le type
Else
Ft$ = GetGadgetText(20)
EndIf
style()
Case 21;liste taille
tp = Val(GetGadgetText(21))
style()
Case 22;coul fond
If GetGadgetState(22) = 1
MLD_ActCoche(22,1):colorgadfond()
Else
MLD_ActCoche(22,0):colorgadfond()
EndIf
style()
Case 23;coul texte
If GetGadgetState(23) = 1
MLD_ActCoche(23,1):colorgadtxt()
Else
MLD_ActCoche(23,0):colorgadtxt()
EndIf
style()
Case 24;coche gras
style()
Case 25;coche Italique
style()
Case 26;coche Souligné
style()
Case 27;coche Barré
style()
Case 28;coche Haute qualité
style()
Case 35;string num police
Select EventType()
Case #PB_EventType_Change
style()
EndSelect
Case 36;string IDfont
Select EventType()
Case #PB_EventType_Change
style()
EndSelect
Case 38;DPI fonte
If GetGadgetState(38) = 0
MLD_ActCoche(38,0)
Else
MLD_ActCoche(38,1)
EndIf
style()
Case 42;list gad
SetGadgetText(49,"")
SetGadgetState (50,1):SetGadgetState (51,1)
SetGadgetText(66,""):SetGadgetText(67,"")
Gadig()
Gest_cmd()
Case 45 ;DAG
If GetGadgetState(45) = 1
MLD_ActCoche(45,1)
Else
MLD_ActCoche(45,0)
EndIf
ConstrucGad()
Case 49 ;ID gad
Select EventType()
Case #PB_EventType_Change
If Len(GetGadgetText(49))= 1
Select Asc(GetGadgetText(49))
Case 35,48 To 57
Default
If GetGadgetText(49)<>""
SetGadgetText(49,"#" + GetGadgetText(49)):GestionCaret(49);si l'ID n'est pas un chiffre met # devant
EndIf
EndSelect
EndIf
Gadig()
EndSelect
Case 50;nb lettre
Select EventType()
Case #PB_EventType_Up
style()
Case #PB_EventType_Down
style()
EndSelect
Case 51;nb ligne
Select EventType()
Case #PB_EventType_Up
style()
Case #PB_EventType_Down
style()
EndSelect
Case 52;Coche Maj/minus
MLD_ActCoche(52,1):MLD_ActCoche(53,0)
style()
Case 53;Coche Maj
MLD_ActCoche(53,1):MLD_ActCoche(52,0)
style()
Case 64 ;Larg
Select EventType()
Case #PB_EventType_Change
CalculDimGad(ValD(GetGadgetText(64)),Val(GetGadgetText(65)))
GestionCaret(64)
EndSelect
Case 65 ;Haut
Select EventType()
Case #PB_EventType_Change
CalculDimGad(ValD(GetGadgetText(64)),Val(GetGadgetText(65)))
GestionCaret(65)
EndSelect
Case 71;coche LH
If GetGadgetState(71) = 1
MLD_ActCoche(71,1)
SendMessage_(GadgetID(64),#EM_SETREADONLY,0,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,0,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FFFF):SetGadgetColor(65,#PB_Gadget_BackColor,$00FFFF)
Else
MLD_ActCoche(71,0)
SendMessage_(GadgetID(64),#EM_SETREADONLY,1,0):SendMessage_(GadgetID(65),#EM_SETREADONLY,1,0)
SetGadgetColor(64,#PB_Gadget_BackColor,$00FF7F):SetGadgetColor(65,#PB_Gadget_BackColor,$00FF7F)
CalculDimGad(tw.D,th)
EndIf
Case 73;regle
If GetGadgetState(73) = 1
MLD_ActCoche(73,1)
HideWindow(101,0):SetActiveWindow(101):Rgl()
Else
HideWindow(101,1)
MLD_ActCoche(73,0)
EndIf
Case 74;ombre
If GetGadgetState(74) = 1
MLD_ActCoche(74 ,1)
HideGadget(102,0)
Else
MLD_ActCoche(74 ,0)
HideGadget(102,1)
EndIf
Case 75;trackbar
SetLayeredWindowAttributes_(WindowID(101), 0, GetGadgetState(75), #LWA_ALPHA)
Case 84 ;PP_DA
If GetGadgetState(84) = 1
gest_cochePP(84):visuPP()
EndIf
Case 85 ;PP_Fonte
If GetGadgetState(85) = 1
gest_cochePP(85):visuPP()
EndIf
Case 86 ;PP_Gad
If GetGadgetState(86) = 1
gest_cochePP(86):visuPP()
EndIf
Case 87 ;PP_Gad + reffont
If GetGadgetState(87) = 1
gest_cochePP(87):visuPP()
EndIf
Case 90 ;bt PP
PP()
Case 91;bt aide
MessageRequester("Logiciel AUTOGAD",LT$,#PB_MessageRequester_Ok | #PB_MessageRequester_Info)
Case 92;bt stop
Break
EndSelect
EndIf
Case 101;fenetre pg
If Event = #WM_RBUTTONDOWN
SetGadgetText(66,Str(WindowMouseX(101))):SetGadgetText(67,Str((WindowMouseY(101))));inscrit coordonnées souris
style()
EndIf
If Event = #WM_LBUTTONDOWN
SendMessage_(WindowID(101), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
EndIf
EndSelect
ForEver
End