Voici le code modifié pour corriger cela:
Code : Tout sélectionner
;*****************************************
; WinConstructeur V2.1 23/05/2013 *
; Programmer par MLD Compilation PB 5.11 *
;*****************************************
Enumeration
#WinCtr = 1
;>>>>> les Frames
#Frame3D_idfen = 2
#Frame3D_titre = 3
#Frame3D_attrib = 4
#Frame3D_wincolor = 5
#Frame3D_tailpos = 6
#Frame3D_opt = 7
#Frame3D_loop = 8
#Frame3D_fonct = 9
#Frame3D_transp = 10
;>>>>> les CheckBoxs
#Check_SystMenu = 20 ;attributs
#Check_MinimizeGad = 21
#Check_MaximizeGad = 22
#Check_Invisible = 23
#Check_Tool = 24
#Check_Maximize = 25
#Check_Minimize = 26
#Check_Border = 27
#Check_ScreenCentered = 28 ;Taille/position
#Check_Doubletrame = 29
#Check_SizeGadget = 30
#Check_Bound = 31
#Check_Invisiblebar = 32 ;Options
#Check_Wincolor = 33
#Check_Statbar = 34
#Check_StickyWin = 35
#Check_Transp = 36
#Check_Loop_1 = 37 ;boucle
#Check_Loop_2 = 38;boucle
#Check_Loop_3 = 39;boucle
#Check_Hombre = 40
#Check_Cadre = 41
#Check_Depsour = 42
#Check_Loop_4 = 43;boucle
#Check_Loop_5 = 44;boucle
;>>>>> les TextGadgets
#Text_id = 60
#Text_posX = 61
#Text_posY = 62
#Text_tailarg = 63
#Text_tailhaut = 64
#Text_utilbound = 65
#Text_Bdlargmin = 66
#Text_bdhautmin = 67
#Text_Bdlargmax = 68
#Text_bdhautmax = 69
#Text_col1 = 70
#Text_col2 = 71
#Text_col3 = 72
#Text_col4 = 73
#Text_col5 = 74
#Text_col6 = 75
#Text_colcod = 76
#Text_colG = 77
#Text_Transp = 78
#Text_statbarnbchamp = 79
;#Text_idfenmere = 80
;>>>>> les StringGadgets
#String_Winid = 100
#String_Titre = 101
#String_PosX = 102
#String_PosY = 103
#String_Larg = 104
#String_Haut = 105
;#string_idfenmere = 106
#String_BdL_Mini = 107
#String_BdH_Mini = 108
#String_BdL_Maxi = 109
#String_BdH_Maxi = 110
#String_Statbar = 111
;>>>>> les boutons
#Bt_Cop = 125
#Bt_enrmod = 126
#Bt_Ouvmod = 127
#Bt_Raz = 128
#Bt_Stop = 129
#Bt_coloreq = 130
;>>>>> les autres gadgets
#ftest = 140
#trck_R = 141
#trck_G = 142
#trck_B = 143
#Trakb_Winctr = 144
#Edit = 140
#StatusBar = 145
#ftestStatusBar = 146
#timer1 = 147
#fichmod = 148
;>>>>>> la petite fenêtre
#Wenr
#text_1
#text_2
#bt_1
#bt_2
#list1
EndEnumeration
Declare fentest()
Declare contructeurwin()
Declare fendepart()
Declare affcodecolor()
Declare trScrCent()
Declare wBound(dpwb.i)
Declare alerte(indal)
Declare transp()
Global Titr$
Global X,Y,Lrg,Htr,Btc,Bt1,Bt2,Typ,Ouv,Viv,Rds,Ctf
Global Wblmin$,Wblmax$,WbHmin$,WbHmax$,choixmod$
Global sap.b,nbbstat.l
Procedure MouseHook(nCode, wParam, lParam)
If wParam = #WM_LBUTTONUP
sap.b = 1
ElseIf wParam = #WM_MOUSEMOVE Or wParam = #WM_LBUTTONDOWN
sap.b = 0
EndIf
ProcedureReturn CallNextHookEx_(0, nCode, wParam, lParam)
EndProcedure
Procedure StatuBarWindowCallback(hWnd.i,uMsg.i,wParam.i,lParam.i);+++++ .i au lieu de .l
Structure ODSBTEXT
szText.i
clrFront.i
EndStructure
Global osbt.ODSBTEXT
osbt\clrFront = #Red;couleur du text
Select uMsg
Case #WM_DRAWITEM
Protected *lpdis.DRAWITEMSTRUCT = lParam
If *lpdis\hWndItem = StatusBarID(#StatusBar)
Protected *osbt.ODSBTEXT = *lpdis\itemData
SetTextColor_(*lpdis\hDC,*osbt\clrFront)
SetBkMode_(*lpdis\hDC,1)
DrawText_(*lpdis\hDC,*osbt\szText,-1,*lpdis\rcItem,#DT_SINGLELINE | #DT_VCENTER |#DT_CENTER)
EndIf
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure ToolTipMic(WindowNumber.i,GadgetNumber.i,Text.s)
Protected Tooltip.l,Balloon.TOOLINFO
Tooltip=CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID(WindowNumber),0,GetModuleHandle_(0),0)
SendMessage_(Tooltip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT),0)
SendMessage_(Tooltip,#TTM_SETTIPBKCOLOR,$5E5EB0,0)
SendMessage_(Tooltip,#TTM_SETMAXTIPWIDTH,0,180)
Balloon\cbSize=SizeOf(TOOLINFO)
Balloon\uFlags=#TTF_IDISHWND | #TTF_SUBCLASS
If IsGadget(GadgetNumber)
Balloon\hwnd=GadgetID(GadgetNumber)
Balloon\uId=GadgetID(GadgetNumber)
Else
Balloon\hwnd=GadgetNumber
Balloon\uId=GadgetNumber
EndIf
Balloon\lpszText=@Text
SendMessage_(Tooltip,#TTM_ADDTOOL,0,@Balloon)
ProcedureReturn Tooltip
EndProcedure
Procedure FreeBalloonTooltip(Tooltip.i)
DestroyWindow_(Tooltip.i)
EndProcedure
Procedure Interaction(action.i)
Select action
Case 20 ;#Check_SystMenu
SetGadgetState(41,0):SetGadgetState(42,0)
DisableGadget(29,0): DisableGadget(41,1):DisableGadget(42,1)
If GetGadgetState(21)= 1 Or GetGadgetState(22)= 1
SetGadgetState(20,0)
Else
SetGadgetState(20,1):SetGadgetState(24,0):SetGadgetState(27,0)
EndIf
Case 21;#Check_MinimizeGad
SetGadgetState(20,0):SetGadgetState(24,0):SetGadgetState(27,0)
SetGadgetState(41,0):SetGadgetState(42,0)
DisableGadget(29,0):DisableGadget(41,1):DisableGadget(42,1)
Case 22 ;#Check_MaximizeGad
SetGadgetState(20,0):SetGadgetState(24,0):SetGadgetState(27,0)
SetGadgetState(41,0):SetGadgetState(42,0)
DisableGadget(29,0):DisableGadget(41,1):DisableGadget(42,1)
Case 24 ;#Check_Tool
SetGadgetState(20,1):SetGadgetState(21,0):SetGadgetState(22,0)
SetGadgetState(27,0):SetGadgetState(33,0):SetGadgetState(29,0)
SetGadgetState(41,0):SetGadgetState(42,0)
DisableGadget(29,1):DisableGadget(41,1):DisableGadget(42,1)
If GetGadgetState(24) = 1
SetGadgetState(36,0):DisableGadget(36,1)
Else
DisableGadget(36,0)
EndIf
affcodecolor()
Case 25 ; #Check_Maximize
If GetGadgetState(25) = 1
SetGadgetState(26,0)
EndIf
Case 26 ;#Check_Minimize
If GetGadgetState(26) = 1
SetGadgetState(25,0)
EndIf
Case 27 ;#Check_Border
If GetGadgetState(27) = 1
SetGadgetState(20,0):SetGadgetState(21,0):SetGadgetState(22,0)
SetGadgetState(24,0):SetGadgetState(30,0):SetGadgetState(31,0)
SetGadgetState(29,0):SetGadgetState(41,0):SetGadgetState(42,0)
DisableGadget(29,1):DisableGadget(41,0):DisableGadget(42,0)
wBound(1)
Else
SetGadgetState(41,0):SetGadgetState(42,0)
DisableGadget(29,0):DisableGadget(41,1):DisableGadget(42,1)
EndIf
Case 28 ;#Check_ScreenCentered
trScrCent()
Case 30 ;#Check_SizeGadget
If GetGadgetState(27) <> 1
If GetGadgetState(30)= 0
SetGadgetState(31,0)
SetGadgetColor(65,#PB_Gadget_FrontColor,$D9C2BD)
wBound(1)
Else
SetGadgetColor(65,#PB_Gadget_FrontColor,$0)
EndIf
Else
SetGadgetState(30,0)
alerte(2)
EndIf
Case 31 ;#Check_Bound
If GetGadgetState(30)= 1
wBound(1)
Else
SetGadgetState(31,0)
EndIf
Case 32 ;#Check_Invisiblebar
If GetGadgetState(24) <> 1
If GetGadgetState(32) = 1
contructeurwin()
EndIf
Else
SetGadgetState(32,0)
alerte(3)
EndIf
Case 33 ;#Check_Wincolor
If GetGadgetState(24)<> 1
affcodecolor()
Else
SetGadgetState(33,0)
alerte(1)
EndIf
Case 36 ;#Check_Transp
If GetGadgetState(36) <> 1
SetGadgetText(78,"255")
SetGadgetState(#Trakb_Winctr,255)
contructeurwin()
EndIf
Case 37 ;#Check_Loop_1
SetGadgetState(37,1):SetGadgetState(38,0):SetGadgetState(39,0)
SetGadgetState(43,0):SetGadgetState(44,0)
contructeurwin()
Case 38 ;#Check_Loop_2
SetGadgetState(37,0):SetGadgetState(38,1):SetGadgetState(39,0)
SetGadgetState(43,0):SetGadgetState(44,0)
contructeurwin()
Case 39 ;#Check_Loop_3
SetGadgetState(37,0):SetGadgetState(38,0):SetGadgetState(39,1)
SetGadgetState(43,0):SetGadgetState(44,0)
contructeurwin()
Case 43 ;#Check_Loop_4
SetGadgetState(37,0):SetGadgetState(38,0):SetGadgetState(39,0)
SetGadgetState(43,1):SetGadgetState(44,0)
contructeurwin()
Case 44 ;#Check_Loop_5
SetGadgetState(37,0):SetGadgetState(38,0):SetGadgetState(39,0)
SetGadgetState(43,0):SetGadgetState(44,1)
contructeurwin()
Case 141 ;#trck_R
affcodecolor()
Case 142 ;#trck_G
affcodecolor()
Case 143 ;#trck_B
affcodecolor()
Case 144 ;#Trakb_Winctr
If GetGadgetState(36) = 1
SetGadgetText(78,Str(GetGadgetState(144)))
transp()
Else
SetGadgetState(144,255)
EndIf
EndSelect
ProcedureReturn 0
EndProcedure
Procedure alerte(indal)
Select indal
Case 1
osbt\szText = @ "Pas de couleur de fond avec une fenêtre Tool"
Case 2
osbt\szText = @ "Pas de Resize possible avec une fenêtre Borderless"
Case 3
osbt\szText = @ "Une fenêtre Tool est en natif invisible dans la barre de tâche"
Case 4
osbt\szText = @ "Le model de fenêtre est enregistré"
Case 5
osbt\szText = @ "Interdit avec la boucle Minimum 1"
EndSelect
SendMessage_(StatusBarID(#StatusBar),#SB_SETTEXT,1 | #SBT_OWNERDRAW,osbt)
EndProcedure
Procedure Raz() ;ok
For b = 20 To 44
SetGadgetState(b,0)
Next
SetGadgetState(20,1):SetGadgetState(38,1):SetGadgetState(144,255)
DisableGadget(41,1):DisableGadget(29,0):DisableGadget(42,1)
SetGadgetText(100,"Ma_fen"):SetGadgetText(101,"Ma Fenêtre")
SetGadgetText(102,"500"):SetGadgetText(103,"200")
SetGadgetText(104,"400"):SetGadgetText(105,"400")
SetGadgetText(111,"3"):SetGadgetText(78,"255")
trScrCent()
wBound(1)
affcodecolor()
fendepart()
EndProcedure
Procedure transp();transparence ok
If GetGadgetState(36) = 1 And sap.b = 1
contructeurwin()
EndIf
EndProcedure
Procedure colorRequest()
Couleur = ColorRequester()
If Couleur > -1
SetGadgetState(#trck_B,Blue(Couleur))
SetGadgetState(#trck_G,Green(Couleur))
SetGadgetState(#trck_R,Red(Couleur))
affcodecolor()
EndIf
EndProcedure
Procedure affcodecolor();ok
While WindowEvent() : Wend
If GetGadgetState(33)= 1
dpcolor.b = 0
DisableGadget(141,0):DisableGadget(142,0):DisableGadget(143,0):DisableGadget(130,0)
SetGadgetText(73,"$" + Hex(GetGadgetState(#trck_R)))
SetGadgetText(74,"$" + Hex(GetGadgetState(#trck_G)))
SetGadgetText(75,"$" + Hex(GetGadgetState(#trck_B)))
SetGadgetText(76,GetGadgetText(75)+ Hex(GetGadgetState(#trck_G))+ Hex(GetGadgetState(#trck_R)))
SetGadgetColor(77,#PB_Gadget_BackColor,RGB(GetGadgetState(#trck_R),GetGadgetState(#trck_G),GetGadgetState(#trck_B)))
If GetGadgetState(#Check_Wincolor)= 1 And sap.b = 1
contructeurwin()
EndIf
Else
DisableGadget(141,1):DisableGadget(142,1):DisableGadget(143,1):DisableGadget(130,1)
SetGadgetColor(77,#PB_Gadget_BackColor,GetWindowColor(#WinCtr))
SetGadgetState(#trck_R,0):SetGadgetText(73,"$00")
SetGadgetState(#trck_G,0):SetGadgetText(74,"$00")
SetGadgetState(#trck_B,0):SetGadgetText(75,"$00")
SetGadgetText(76,"$000000")
contructeurwin()
EndIf
EndProcedure
Procedure trScrCent();ok
If GetGadgetState(28) = #PB_Checkbox_Checked
SetGadgetColor(102,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(103,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(102,#PB_Gadget_FrontColor,$EEDFDB)
SetGadgetColor(103,#PB_Gadget_FrontColor,$EEDFDB)
SendMessage_(GadgetID(102),#EM_SETREADONLY,1,0)
SendMessage_(GadgetID(103),#EM_SETREADONLY,1,0)
Else
SetGadgetColor(102,#PB_Gadget_FrontColor,$0)
SetGadgetColor(103,#PB_Gadget_FrontColor,$0)
SendMessage_(GadgetID(102),#EM_SETREADONLY,0,0)
SendMessage_(GadgetID(103),#EM_SETREADONLY,0,0)
EndIf
EndProcedure
Procedure wBound(dpwp.i) ;ok
If GetGadgetState(31)= 1
For b = 66 To 69
SetGadgetColor(b,#PB_Gadget_FrontColor,$0)
Next
For bb = 107 To 110
SendMessage_(GadgetID(bb),#EM_SETREADONLY,0,0)
SetGadgetColor(bb,#PB_Gadget_FrontColor,$0)
Next
Wblmin$ = GetGadgetText(107)
wblmax$ = GetGadgetText(109)
Wbhmin$ = GetGadgetText(108)
Wbhmax$ = GetGadgetText(110)
If dpwp = 1
contructeurwin()
EndIf
Else
For b = 66 To 69
SetGadgetColor(b,#PB_Gadget_FrontColor,$D9C2BD)
Next
For bb = 107 To 110
SendMessage_(GadgetID(bb),#EM_SETREADONLY,1,0)
SetGadgetColor(bb,#PB_Gadget_FrontColor,$D9C2BD)
Next
EndIf
EndProcedure
Procedure fendepart() ;ok
ClearGadgetItems(#Edit)
AddGadgetItem(#Edit,0,";")
AddGadgetItem(#Edit,1,"Enumeration")
AddGadgetItem(#Edit,2," #" + GetGadgetText(#String_Winid))
AddGadgetItem(#Edit,3,"EndEnumeration")
AddGadgetItem(#Edit,4,"")
AddGadgetItem(#Edit,5,"")
AddGadgetItem(#Edit,6,"OpenWindow(" + GetGadgetItemText(#Edit,2)+ ",500,200,400,400," + Chr(34) + GetGadgetText(#String_Titre) + Chr(34) + ", #PB_Window_SystemMenu)")
AddGadgetItem(#Edit,7,"")
AddGadgetItem(#Edit,8,"; Ici vos gadgets")
For z = 9 To 11
AddGadgetItem(#Edit,z,"")
Next
AddGadgetItem(#Edit,12,"; Boucle générale")
AddGadgetItem(#Edit,13,"Repeat")
AddGadgetItem(#Edit,14," Event = WaitWindowEvent()")
For zz = 15 To 17
AddGadgetItem(#Edit,zz,"")
Next
AddGadgetItem(#Edit,18,"Until Event = #PB_Event_CloseWindow")
AddGadgetItem(#Edit,19,"End")
a$ = GetGadgetText(#String_Titre)
OpenWindow(#ftest,500,200,400,400,a$,#PB_Window_SystemMenu)
SetActiveWindow(#WinCtr)
SendMessage_(GadgetID(#Edit),#EM_SCROLL,#SB_BOTTOM,0);en bas
EndProcedure
Procedure ctl()
nl.l = CountGadgetItems(#Edit)+ 1
ProcedureReturn nl.l
EndProcedure
Procedure contructeurwin()
Btc = 0 : Bt1 = 0 : Bt2 = 0 :Typ = 0 : Ouv = 0 : Viv = 0 : Rds = 0 : Ctf = 0 ;: dp = 0
fn$ = ")"
sp$ = " " + Chr(124)+ " ";"|"
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ id,placement,dimensions,titre
id$ = "#" + GetGadgetText(#String_Winid)
If GetGadgetState(#Check_ScreenCentered) <> 1
X$ = "," + GetGadgetText(#String_PosX):X = Val(GetGadgetText(#String_PosX))
Y$ = "," + GetGadgetText(#String_PosY):Y = Val(GetGadgetText(#String_PosY))
Else
X$ = "," + "0":X = 0
Y$ = "," +"0" :y = 0
EndIf
Lrg$ = "," + GetGadgetText(#String_Larg) :Lrg = Val(GetGadgetText(#String_Larg))
Htr$ = "," + GetGadgetText(#String_Haut) :Htr = Val(GetGadgetText(#String_Haut))
TitrEcr$ = Chr(34) + GetGadgetText(#String_Titre) + Chr(34): Titr$ = GetGadgetText(#String_Titre)
Cw_1$ = "OpenWindow(" + id$ + X$ + Y$ + Lrg$ + Htr$ + "," + TitrEcr$ + ","
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ les boutons de fenêtres
If GetGadgetState(#Check_SystMenu) = 1 Or GetGadgetState(#Check_SystMenu) = 0 And GetGadgetState(#Check_MinimizeGad) = 0 And GetGadgetState(#Check_MaximizeGad) = 0
Cw_2$ = "#PB_Window_SystemMenu":Btc = #PB_Window_SystemMenu
EndIf
If GetGadgetState(#Check_SystMenu) = 0 And GetGadgetState(#Check_MinimizeGad) = 1 And GetGadgetState(#Check_MaximizeGad) = 0
Cw_2$ = "#PB_Window_MinimizeGadget" :Bt1 = #PB_Window_MinimizeGadget
EndIf
If GetGadgetState(#Check_SystMenu) = 0 And GetGadgetState(#Check_MinimizeGad) = 0 And GetGadgetState(#Check_MaximizeGad) = 1
Cw_2$ = "#PB_Window_MaximizeGadget": Bt2 = #PB_Window_MaximizeGadget
EndIf
If GetGadgetState(#Check_SystMenu) = 0 And GetGadgetState(#Check_MinimizeGad) = 1 And GetGadgetState(#Check_MaximizeGad) = 1
Cw_2$ = "#PB_Window_MinimizeGadget" + sp$ + "#PB_Window_MaximizeGadget"
Bt1 = #PB_Window_MinimizeGadget:Bt2 = #PB_Window_MaximizeGadget
EndIf
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ les types de fenêtres (tool,bordeless)
If GetGadgetState(#Check_Tool) = 1 Or GetGadgetState(#Check_Border) = 1
If GetGadgetState(#Check_Tool) = 1
Cw_3$ = sp$ + "#PB_Window_Tool" : Typ = #PB_Window_Tool
CwP_1$ = Cw_1$ + Cw_2$ + Cw_3$
EndIf
If GetGadgetState(#Check_Border) = 1
Cw_3$ = "#PB_Window_BorderLess": Btc = 0 :Typ = #PB_Window_BorderLess
CwP_1$ = Cw_1$ + Cw_3$
EndIf
Else
CwP_1$ = Cw_1$ + Cw_2$
EndIf
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ les ouvertures des fenêtres
If GetGadgetState(#Check_Maximize) = 1
Cw_4$ = sp$ + "#PB_Window_Maximize"
CwP_1$ = CwP_1$ + Cw_4$ :Ouv = #PB_Window_Maximize
EndIf
If GetGadgetState(#Check_Minimize) = 1
Cw_4$ = sp$ + "#PB_Window_Minimize"
CwP_1$ = CwP_1$ + Cw_4$ :Ouv = #PB_Window_Minimize
EndIf
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ visible/invisible
If GetGadgetState(#Check_Invisible) = 1 Or GetGadgetState(#Check_Doubletrame) = 1 Or GetGadgetState(#Check_Hombre) = 1
Cw_5$ = sp$ + "#PB_Window_Invisible"
CwP_1$ = CwP_1$ + Cw_5$ :Viv = #PB_Window_Invisible
EndIf
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ redimensionne les fenêtres
If GetGadgetState(#Check_SizeGadget) = 1
Cw_6$ = sp$ + "#PB_Window_SizeGadget": Rds = #PB_Window_SizeGadget
CwP_1$ = CwP_1$ + Cw_6$
EndIf
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ centrage des fenêtres
If GetGadgetState(#Check_ScreenCentered) = 1
Cw_7$ = sp$ + "#PB_Window_ScreenCentered" :Ctf = #PB_Window_ScreenCentered
CwP_1$ = CwP_1$ + Cw_7$
EndIf
If GetGadgetState(#Check_Invisiblebar) = 1 ;invible dans la barre de tache
Cwtot$ = CwP_1$ + ",FindWindow_(0," + Chr(34)+ "program manager" + Chr(34)+")" + fn$
Else
Cwtot$ = CwP_1$ + fn$;***************************************************
EndIf
ClearGadgetItems(#Edit) ;Ecriture du code dans l'editeur
AddGadgetItem(#Edit,0,";")
AddGadgetItem(#Edit,ctl(),"Enumeration")
AddGadgetItem(#Edit,ctl()," " + id$)
If GetGadgetState(#Check_Statbar) = 1;Statusbar
AddGadgetItem(#Edit,ctl()," " + "#StatusBar")
EndIf
AddGadgetItem(#Edit,ctl(),"EndEnumeration")
AddGadgetItem(#Edit,ctl(),""):AddGadgetItem(#Edit,ctl(),"")
AddGadgetItem(#Edit,ctl(),Cwtot$);fin ecriture
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ Fin OpenWindow début des options
If GetGadgetState(#Check_Doubletrame) = 1 ;double trame
WDT$ = "SetWindowLongPtr_(WindowID(" + id$ + "),#GWL_EXSTYLE,$2300)"
AddGadgetItem(#Edit,ctl(),WDT$);ecriture
EndIf
If GetGadgetState(#Check_Hombre) = 1 ;ombre
WOMB$ = "SetClassLongPtr_(WindowID(" + id$ + "),#GCL_STYLE,$00020000)"
AddGadgetItem(#Edit,ctl(),WOMB$);ecriture
EndIf
If GetGadgetState(#Check_Doubletrame) = 1 Or GetGadgetState(#Check_Hombre) = 1
WHIDE$ = "HideWindow(" + id$ + ",0)" ;rend la fentre visible pour les options nécéssitant invisible
AddGadgetItem(#Edit,ctl(),WHIDE$);ecriture
EndIf
If GetGadgetState(#Check_SizeGadget)= 1 And GetGadgetState(#Check_Bound)= 1; WindowBound
WB$ = "WindowBounds(" + id$ + "," + Wblmin$ + "," + Wbhmin$ + "," + Wblmax$ + "," + WbHmax$ + ")"
AddGadgetItem(#Edit,ctl(),WB$);ecriture
EndIf
If GetGadgetState(#Check_Wincolor)= 1 ;window color
WCL$ = "SetWindowColor(" + id$ + "," + GetGadgetText(#Text_colcod)+ ")"
AddGadgetItem(#Edit,ctl(),WCL$);ecriture
EndIf
If GetGadgetState(#Check_StickyWin)= 1 ;StickyWindow
WSTY$ = "StickyWindow(" + id$ + "," + "1)"
AddGadgetItem(#Edit,ctl(),WSTY$);ecriture
EndIf
; If GetGadgetState(#Check_Invisiblebar) = 1 ;invible dans la barre de tache ; ***************
; WINVBT$ = "SetWindowLongPtr_(WindowID(" + id$ + ")," + "#GWL_HWNDPARENT, FindWindow_(0," + Chr(34) + Chr(34) + "))"
; AddGadgetItem(#Edit,ctl(),WINVBT$);ecriture
; EndIf
If GetGadgetState(#Check_Transp) = 1 ;transparence
WTRP1$ = "SetWindowLongPtr_(WindowID(" + id$ + ")," + "#GWL_EXSTYLE, $00080000)"
AddGadgetItem(#Edit,ctl(),WTRP1$);ecriture
WTRP2$ = "SetLayeredWindowAttributes_(WindowID(" + id$ + ")," + "0," + GetGadgetText(#Text_Transp) + ",#LWA_ALPHA)"
AddGadgetItem(#Edit,ctl(),WTRP2$);ecriture
EndIf
If GetGadgetState(#Check_Border) = 1 And GetGadgetState(#Check_Cadre) = 1 ;cadre
WCDE$ = "SetWindowLongPtr_(WindowID(" + id$ + "), #GWL_STYLE, GetWindowLongPtr_(WindowID(" + id$ + "), #GWL_STYLE) | #WS_DLGFRAME)"
AddGadgetItem(#Edit,ctl(),WCDE$);ecriture
WCDE1$ = "SetWindowPos_(WindowID(" + id$ + "), 0,0,0,0,0,#SWP_NOSIZE|#SWP_NOMOVE|#SWP_NOZORDER|#SWP_FRAMECHANGED)"
AddGadgetItem(#Edit,ctl(),WCDE1$);ecriture
EndIf
If GetGadgetState(#Check_Statbar) = 1;Statusbar
nbbstat.l = Val(GetGadgetText(#String_Statbar)) -1
WSTBR1$ = "CreateStatusBar(#StatusBar,WindowID(" + id$ + "))"; attention a l'écriture mettre dans enumeration
AddGadgetItem(#Edit,ctl(),WSTBR1$);ecriture
WSTBR2$ = "For i.l= 0 To " + Str(nbbstat.l)
AddGadgetItem(#Edit,ctl(),WSTBR2$);ecriture
WSTBR3$ = " AddStatusBarField(#PB_Ignore)"
AddGadgetItem(#Edit,ctl(),WSTBR3$);ecriture
WSTBR4$ = "Next"
AddGadgetItem(#Edit,ctl(),WSTBR4$);ecriture
EndIf
;¤¤¤¤¤¤¤¤¤¤ Fin des options, début des boucles
AddGadgetItem(#Edit,ctl(),"")
AddGadgetItem(#Edit,ctl(),"; Ici vos gadgets")
bl = ctl()
For z = bl To bl+3
AddGadgetItem(#Edit,z,"")
Next
AddGadgetItem(#Edit,ctl(),"; Boucle générale")
If GetGadgetState(#Check_Loop_1) = 1
If GetGadgetState(42) = 1
SetGadgetState(42,0)
alerte(5)
EndIf
WLP1L$ = ""
WLP1L2$ = "Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow"
WLP1L3$ = "End"
AddGadgetItem(#Edit,ctl(),WLP1L$);ecriture
AddGadgetItem(#Edit,ctl(),WLP1L2$);ecriture
AddGadgetItem(#Edit,ctl(),WLP1L3$);ecriture
EndIf
If GetGadgetState(#Check_Loop_2) = 1
Dim WLP2L.s (8)
WLP2L(1) = "Repeat"
WLP2L(2) = "Event = WaitWindowEvent()"
If GetGadgetState(#Check_Border) = 1 And GetGadgetState(#Check_Depsour) = 1 ;déplace borderless
WLP2L(3) = " If Event = #WM_LBUTTONDOWN"
WLP2L(4) = " SendMessage_(WindowID(" + id$ + "), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)"
WLP2L(5) = " EndIf"
Else
WLP2L(3) = ""
WLP2L(4) = ""
WLP2L(5) = ""
EndIf
WLP2L(6) = ""
WLP2L(7) = "Until Event = #PB_Event_CloseWindow"
WLP2L(8) = "End"
For xx = 1 To 8
AddGadgetItem(#Edit,ctl(),WLP2L(xx));ecriture
Next
FreeArray(WLP2L.s())
EndIf
If GetGadgetState(#Check_Loop_3) = 1
Dim WLP3L.s (12)
WLP3L(1) = "Repeat"
WLP3L(2) = " Event = WaitWindowEvent()"
WLP3L(3) = " If Event = #WM_LBUTTONDOWN"
WLP3L(4) = " SendMessage_(WindowID(" + id$ + "), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)"
WLP3L(5) = " EndIf"
WLP3L(6) = " If Event = #PB_Event_Gadget"
WLP3L(7) = " Select EventGadget()"
WLP3L(8) = ""
WLP3L(9) = " EndSelect"
WLP3L(10) = " EndIf"
WLP3L(11) = "Until Event = #PB_Event_CloseWindow"
WLP3L(12) = "End"
For yy = 1 To 12
If GetGadgetState(#Check_Border) = 1 And GetGadgetState(#Check_Depsour) = 1 ;déplace borderless
AddGadgetItem(#Edit,ctl(),WLP3L(yy));ecriture
Else
Select yy
Case 1,2,6 To 12
AddGadgetItem(#Edit,ctl(),WLP3L(yy));ecriture
EndSelect
EndIf
Next
FreeArray(WLP3L.s())
EndIf
If GetGadgetState(#Check_Loop_4) = 1
Dim WLP4L.s (11)
WLP4L(1) = "Repeat"
WLP4L(2) = " Select WaitWindowEvent()"
WLP4L(3) = " Case #WM_LBUTTONDOWN"
WLP4L(4) = " SendMessage_(WindowID(#Ma_fen), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)"
WLP4L(5) = " Case #PB_Event_Gadget"
WLP4L(6) = ""
WLP4L(7) = " Case #PB_Event_CloseWindow"
WLP4L(8) = " Break"
WLP4L(9) = " EndSelect"
WLP4L(10) = "ForEver"
WLP4L(11) = "End"
For zz = 1 To 11
If GetGadgetState(#Check_Border) = 1 And GetGadgetState(#Check_Depsour) = 1 ;déplace borderless
AddGadgetItem(#Edit,ctl(),WLP3L(yy));ecriture
Else
Select zz
Case 1,2,5 To 11
AddGadgetItem(#Edit,ctl(),WLP4L(zz));ecriture
EndSelect
EndIf
Next
FreeArray(WLP3L.s())
EndIf
If GetGadgetState(#Check_Loop_5) = 1
Dim WLP5L.s (11)
WLP5L(1) = "Repeat"
WLP5L(2) = "Event = WaitWindowEvent()"
WLP5L(3) = " If Event = #WM_LBUTTONDOWN"
WLP5L(4) = " SendMessage_(WindowID(" + id$ + "), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)"
WLP5L(5) = " Endif"
WLP5L(6) = " If Event = #PB_Event_Gadget"
WLP5L(7) = " Select EventGadget()"
WLP5L(8) = ""
WLP5L(9) = " EndSelect"
WLP5L(10) = " EndIf"
WLP5L(11) = "ForEver"
For z = 1 To 11
If GetGadgetState(#Check_Border) = 1 And GetGadgetState(#Check_Depsour) = 1 ;déplace borderless
AddGadgetItem(#Edit,ctl(),WLP5L(z));ecriture
Else
Select z
Case 1,2,6 To 11
AddGadgetItem(#Edit,ctl(),WLP5L(z));ecriture
EndSelect
EndIf
Next
FreeArray(WLP5L.s())
EndIf
SendMessage_(GadgetID(#Edit),#EM_SCROLL,#SB_BOTTOM,0);liste en bas
fentest()
EndProcedure
Procedure fentest()
CloseWindow(#ftest)
OpenWindow(#ftest,X,Y,Lrg,Htr,Titr$,Btc|Bt1|Bt2|Typ|Ouv|Viv|Rds|Ctf)
If GetGadgetState(#Check_Doubletrame) = 1 ;double trame
SetWindowLongPtr_(WindowID(#ftest),#GWL_EXSTYLE,$2300)
EndIf
If GetGadgetState(#Check_Hombre) = 1 ;ombre
SetClassLongPtr_(WindowID(#ftest),#GCL_STYLE,$00020000)
EndIf
HideWindow(#ftest,0)
If GetGadgetState(#Check_SizeGadget)= 1 And GetGadgetState(#Check_Bound)= 1 ; WindowBound
WindowBounds(#ftest,Val(Wblmin$),Val(Wbhmin$),Val(Wblmax$),Val(WbHmax$))
EndIf
If GetGadgetState(#Check_Wincolor)= 1
SetWindowColor(#ftest,RGB(GetGadgetState(#trck_R),GetGadgetState(#trck_G),GetGadgetState(#trck_B)))
EndIf
If GetGadgetState(#Check_StickyWin)= 1 ;StickyWindow
StickyWindow(#ftest,1)
Else
StickyWindow(#ftest,0)
EndIf
If GetGadgetState(#Check_Transp) = 1 ;transparence
If GetGadgetState(#Check_Doubletrame) = 1:XZZ = $00082300 :Else:XZZ = $00082000:EndIf
SetWindowLongPtr_(WindowID(#ftest),#GWL_EXSTYLE, XZZ)
SetLayeredWindowAttributes_(WindowID(#ftest), 0, GetGadgetState(#Trakb_Winctr), #LWA_ALPHA)
EndIf
If GetGadgetState(#Check_Statbar) = 1
CreateStatusBar(#ftestStatusBar, WindowID(#ftest))
For i.l= 0 To nbbstat.l
AddStatusBarField(#PB_Ignore)
Next
EndIf
If GetGadgetState(#Check_Border) = 1 And GetGadgetState(#Check_Cadre) = 1 ;cadre
SetWindowLongPtr_(WindowID(#ftest), #GWL_STYLE, GetWindowLongPtr_(WindowID(#ftest), #GWL_STYLE) | #WS_DLGFRAME)
SetWindowPos_(WindowID(#ftest), 0,0,0,0,0,#SWP_NOSIZE|#SWP_NOMOVE|#SWP_NOZORDER|#SWP_FRAMECHANGED)
EndIf
SetActiveWindow(#WinCtr)
EndProcedure
Procedure fen2(Fc.b)
OpenWindow(#Wenr,180,200,200,100,"Ma Fenêtre",#PB_Window_BorderLess|#PB_Window_Invisible)
If Fc = 1
SetWindowColor(#Wenr,$00E9)
Else
SetWindowColor(#Wenr,$A7BAD2)
EndIf
SetWindowLongPtr_(WindowID(#Wenr), #GWL_STYLE, GetWindowLongPtr_(WindowID(#Wenr), #GWL_STYLE) | #WS_DLGFRAME)
SetWindowPos_(WindowID(#Wenr), 0,0,0,0,0,#SWP_NOSIZE|#SWP_NOMOVE|#SWP_NOZORDER|#SWP_FRAMECHANGED)
SetClassLongPtr_(WindowID(#Wenr),#GCL_STYLE,$00020000)
StickyWindow(#Wenr,1)
HideWindow(#Wenr,0)
If Fc = 1
TextGadget(#text_1,5, 20,190,20,"CE MODEL EXISTE")
SetGadgetColor(#text_1,#PB_Gadget_BackColor,$00E9)
TextGadget(#text_2,25, 45,150,20,"Voulez vous le modifier ?")
SetGadgetColor(#text_2,#PB_Gadget_BackColor,$00E9)
ButtonGadget(#bt_1,70,70, 80,18,"Non")
ButtonGadget(#bt_2,150,70, 40,18,"Oui")
Else
TextGadget(#text_1,5,5,190,20,"Choisissez un modèle")
SetGadgetColor(#text_1,#PB_Gadget_BackColor,$A7BAD2)
ListViewGadget(#list1, 5, 20,185,55)
SetGadgetColor(#list1,#PB_Gadget_BackColor,$45A713)
ButtonGadget(#bt_2,150,75, 40,18,"Stop")
Directory$ = GetCurrentDirectory()
ExamineDirectory(0, Directory$, "*.mld")
While NextDirectoryEntry(0)
AddGadgetItem (#list1,-1,DirectoryEntryName(0))
Wend
FinishDirectory(0)
EndIf
; Boucle générale
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #bt_1
CloseWindow(#Wenr)
ProcedureReturn 0
Case #bt_2
If Fc.b = 1
CloseWindow(#Wenr)
ProcedureReturn 1
Else
CloseWindow(#Wenr)
ProcedureReturn 0
EndIf
Case #list1
Select EventType()
Case #PB_EventType_LeftClick
choixmod$ = GetGadgetText(#list1)
CloseWindow(#Wenr)
ProcedureReturn 0
EndSelect
EndSelect
EndIf
SendMessage_(WindowID(#Wenr), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
ForEver
EndProcedure
Procedure EnrWmodel()
Dpenr.b = 0
Dim Wmodel$(32)
Wmodel$(1) = GetGadgetText(100) + "¤";id
Wmodel$(2) = GetGadgetText(101) + "¤";titre
If GetGadgetState(20)= 1 : Wmodel$(3) = "1" + "¤" : Else :Wmodel$(3) = "0" + "¤" :EndIf;bt system
If GetGadgetState(21)= 1 : Wmodel$(4) = "1" + "¤" : Else :Wmodel$(4) = "0" + "¤" : EndIf;bt minimise
If GetGadgetState(22)= 1 : Wmodel$(5) = "1" + "¤" : Else :Wmodel$(5) = "0" + "¤" : EndIf;bt maximise
If GetGadgetState(24)= 0 And GetGadgetState(27)= 0
Wmodel$(6) = "0" + "¤" ;fn normale
Else
If GetGadgetState(24)= 1 : Wmodel$(6) = "1" + "¤" :EndIf;fn tool
If GetGadgetState(27)= 1 : Wmodel$(6) = "2" + "¤" :EndIf ;fn borderless
EndIf
If GetGadgetState(25)= 0 And GetGadgetState(26)= 0
Wmodel$(7) = "0" + "¤" ;fn normale
Else
If GetGadgetState(25)= 1 : Wmodel$(7) = "1" + "¤" :EndIf;maximise
If GetGadgetState(26)= 1 : Wmodel$(7) = "2" + "¤" :EndIf ;minimise
EndIf
If GetGadgetState(23)= 1 : Wmodel$(8) = "1" + "¤" : Else :Wmodel$(8) = "0" + "¤" :EndIf;fn invisible
If GetGadgetState(28)= 1 : Wmodel$(9) = "1" + "¤" : Else :Wmodel$(9) = "0" + "¤" :EndIf;screencentered
Wmodel$(10) = GetGadgetText(102) + "¤";posx
Wmodel$(11) = GetGadgetText(103) + "¤";posy
Wmodel$(12) = GetGadgetText(104) + "¤";largeur
Wmodel$(13) = GetGadgetText(105) + "¤";hauteur
If GetGadgetState(30)= 1 : Wmodel$(14) = "1" + "¤" : Else :Wmodel$(14) = "0" + "¤" :EndIf;size
If GetGadgetState(31)= 1 : Wmodel$(15) = "1" + "¤" : Else :Wmodel$(15) = "0" + "¤" :EndIf;bound
Wmodel$(16) = GetGadgetText(107) + "¤";largeur/min
Wmodel$(17) = GetGadgetText(108) + "¤";hauteur/min
Wmodel$(18) = GetGadgetText(109) + "¤";largeur/max
Wmodel$(19) = GetGadgetText(110) + "¤";hauteur/max
If GetGadgetState(33)= 1 : Wmodel$(20) = "1" + "¤" : Else :Wmodel$(20) = "0" + "¤" :EndIf;wcolor
Wmodel$(21) = GetGadgetText(75)+ "*"+GetGadgetText(74)+ "*"+GetGadgetText(73)+ "*" + "¤";chiffre color
If GetGadgetState(32)= 1 : Wmodel$(22) = "1" + "¤" : Else :Wmodel$(22) = "0" + "¤" :EndIf;invisibleBT
If GetGadgetState(35)= 1 : Wmodel$(23) = "1" + "¤" : Else :Wmodel$(23) = "0" + "¤" :EndIf;sticky
If GetGadgetState(36)= 1 : Wmodel$(24) = "1" + "¤" : Else :Wmodel$(24) = "0" + "¤" :EndIf;transp
Wmodel$(25) = GetGadgetText(78) + "¤";chiffre transp
If GetGadgetState(34)= 1 : Wmodel$(26) = "1" + "¤" : Else :Wmodel$(26) = "0" + "¤" :EndIf;statusbar
Wmodel$(27) = GetGadgetText(111) + "¤";chiffre statusb
If GetGadgetState(29)= 1 : Wmodel$(28) = "1" + "¤" : Else :Wmodel$(28) = "0" + "¤" :EndIf;Double trame
If GetGadgetState(40)= 1 : Wmodel$(29) = "1" + "¤" : Else :Wmodel$(29) = "0" + "¤" :EndIf;Ombre
If GetGadgetState(41)= 1 : Wmodel$(30) = "1" + "¤" : Else :Wmodel$(30) = "0" + "¤" :EndIf;Cadre
If GetGadgetState(42)= 1 : Wmodel$(31) = "1" + "¤" : Else :Wmodel$(31) = "0" + "¤" :EndIf;Deplacesour
If GetGadgetState(37)= 1 : Wmodel$(32) = "1" + "¤" :EndIf
If GetGadgetState(38)= 1 : Wmodel$(32) = "2" + "¤" :EndIf
If GetGadgetState(39)= 1 : Wmodel$(32) = "3" + "¤" :EndIf
If GetGadgetState(43)= 1 : Wmodel$(32) = "4" + "¤" :EndIf
If GetGadgetState(44)= 1 : Wmodel$(32) = "5" + "¤" :EndIf
For x =1 To 32
mod$ = mod$ + Wmodel$(x)
Next
fichmod$ = GetGadgetText(100) + ".mld"
If FileSize(fichmod$) = -1
Dpenr.b = 1
Else
Dpenr.b = fen2(1)
EndIf
If Dpenr.b = 1
CreateFile(#fichmod,fichmod$)
WriteString(#fichmod,mod$)
CloseFile(#fichmod)
alerte(4)
EndIf
Dim Wmodel$(0)
EndProcedure
Procedure Ouvmod()
choixmod$ = "" ;mis en global
fen2(2)
If choixmod$ = "" : ProcedureReturn 0 :EndIf
ReadFile(#fichmod,choixmod$)
winmod$ = ReadString(#fichmod)
CloseFile(#fichmod)
SetGadgetText(100,StringField(winmod$,1,"¤")) : SetGadgetText(101,StringField(winmod$,2,"¤"))
SetGadgetState(20,Val(StringField(winmod$,3,"¤")))
SetGadgetState(21,Val(StringField(winmod$,4,"¤")))
SetGadgetState(22,Val(StringField(winmod$,5,"¤")))
If Val(StringField(winmod$,6,"¤")) = 0
SetGadgetState(24,0):SetGadgetState(27,0):DisableGadget(29,0):DisableGadget(41,1):DisableGadget(42,1)
Else
If Val(StringField(winmod$,6,"¤")) = 1
SetGadgetState(24,1):SetGadgetState(27,0):DisableGadget(29,1):DisableGadget(41,1):DisableGadget(42,1)
SetGadgetState(36,0) : DisableGadget(36,1)
EndIf
If Val(StringField(winmod$,6,"¤")) = 2
SetGadgetState(24,0):SetGadgetState(27,1):DisableGadget(29,1):DisableGadget(41,0):DisableGadget(42,0)
EndIf
EndIf
If Val(StringField(winmod$,7,"¤")) = 0
SetGadgetState(25,0):SetGadgetState(26,0)
Else
If Val(StringField(winmod$,7,"¤")) = 1
SetGadgetState(25,1):SetGadgetState(26,0)
EndIf
If Val(StringField(winmod$,7,"¤")) = 2
SetGadgetState(25,0):SetGadgetState(26,1)
EndIf
EndIf
SetGadgetState(23,Val(StringField(winmod$,8,"¤")))
If Val(StringField(winmod$,9,"¤")) = 0
SetGadgetState(28,0)
Else
SetGadgetState(28,1)
EndIf
SetGadgetText(102,StringField(winmod$,10,"¤")) : SetGadgetText(103,StringField(winmod$,11,"¤"))
SetGadgetText(104,StringField(winmod$,12,"¤")) : SetGadgetText(105,StringField(winmod$,13,"¤"))
SetGadgetState(30,Val(StringField(winmod$,14,"¤")))
SetGadgetState(31,Val(StringField(winmod$,15,"¤")))
SetGadgetText(107,StringField(winmod$,16,"¤")) : SetGadgetText(108,StringField(winmod$,17,"¤"))
SetGadgetText(109,StringField(winmod$,18,"¤")) : SetGadgetText(110,StringField(winmod$,19,"¤"))
If Val(StringField(winmod$,14,"¤")) = 1
SetGadgetColor(65,#PB_Gadget_FrontColor,$0)
EndIf
wBound(0)
SetGadgetState(33,Val(StringField(winmod$,20,"¤")))
If Val(StringField(winmod$,20,"¤")) = 1
coul$ = StringField(winmod$,21,"¤")
SetGadgetState(#trck_B,Val(StringField(coul$,1,"*")))
SetGadgetState(#trck_G,Val(StringField(coul$,2,"*")))
SetGadgetState(#trck_R,Val(StringField(coul$,3,"*")))
EndIf
SetGadgetState(32,Val(StringField(winmod$,22,"¤")))
SetGadgetState(35,Val(StringField(winmod$,23,"¤")))
SetGadgetState(36,Val(StringField(winmod$,24,"¤")))
SetGadgetText(78,StringField(winmod$,25,"¤"))
If Val(StringField(winmod$,25,"¤")) <> 0
SetGadgetState(144,Val(StringField(winmod$,25,"¤")))
EndIf
SetGadgetState(34,Val(StringField(winmod$,26,"¤")))
SetGadgetText(111,StringField(winmod$,27,"¤"))
SetGadgetState(29,Val(StringField(winmod$,28,"¤")))
SetGadgetState(40,Val(StringField(winmod$,29,"¤")))
SetGadgetState(41,Val(StringField(winmod$,30,"¤")))
SetGadgetState(42,Val(StringField(winmod$,31,"¤")))
lp.b = Val(StringField(winmod$,32,"¤"))
Select lp.b
Case 1
SetGadgetState(37,1):SetGadgetState(38,0):SetGadgetState(39,0):SetGadgetState(43,0):SetGadgetState(44,0)
Case 2
SetGadgetState(37,0):SetGadgetState(38,1):SetGadgetState(39,0):SetGadgetState(43,0):SetGadgetState(44,0)
Case 3
SetGadgetState(37,0):SetGadgetState(38,0):SetGadgetState(39,1):SetGadgetState(43,0):SetGadgetState(44,0)
Case 4
SetGadgetState(37,0):SetGadgetState(38,0):SetGadgetState(39,0):SetGadgetState(43,1):SetGadgetState(44,0)
Case 5
SetGadgetState(37,0):SetGadgetState(38,0):SetGadgetState(39,0):SetGadgetState(43,0):SetGadgetState(44,1)
EndSelect
If Val(StringField(winmod$,20,"¤")) = 1
affcodecolor()
Else
contructeurwin()
EndIf
EndProcedure
;====== fenêtre principale =====
OpenWindow(#WinCtr, 10, 20, 510, 700, "WinConstructeur", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
SetWindowCallback(@StatuBarWindowCallback())
HookMouse = SetWindowsHookEx_(#WH_MOUSE_LL, @MouseHook(), GetModuleHandle_(0), 0)
AddWindowTimer(#WinCtr,#timer1, 6000)
CreateStatusBar(#StatusBar,WindowID (#WinCtr))
AddStatusBarField(#PB_Ignore)
AddStatusBarField(300)
AddStatusBarField(#PB_Ignore)
StatusBarText(#StatusBar,0," 2013/V2.1")
StatusBarText(#StatusBar,2," "+ Chr(174) + " MLD")
;====== gadgets Frame3D ========
Frame3DGadget(#Frame3D_idfen,5,5,225,45,"Id Fenêtre")
Frame3DGadget(#Frame3D_Titre,5,55,225,50,"Titre de la fenêtre")
Frame3DGadget(#Frame3D_Attrib,235,5,270,100,"Attributs de la fenêtre")
Frame3DGadget(#Frame3D_wincolor,5,110,225,105,"Couleur Fenêtre")
Frame3DGadget(#Frame3D_tailpos,235,110,270,175,"Position - Taille de la fenêtre")
Frame3DGadget(#Frame3D_opt,5,290,235,160,"Options")
Frame3DGadget(#Frame3D_loop,235,290,270,160,"Inclure la Boucle générale")
Frame3DGadget(#Frame3D_fonct,5,455,500,45,"Fonctions")
Frame3DGadget(#Frame3D_transp,5,220,225,65,"Transparence")
;====== gadgets CheckBox ========
CheckBoxGadget(#Check_SystMenu,245,20,130,20,"Bouton Système")
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Checked)
CheckBoxGadget(#Check_MinimizeGad,245,40,130,20,"Bouton Minimize")
CheckBoxGadget(#Check_MaximizeGad,245,60,130,20,"Bouton Maximize")
CheckBoxGadget(#Check_Tool,245,80,130,20, "Tool")
CheckBoxGadget(#Check_Border,380,20,120,20,"BorderLess")
CheckBoxGadget(#Check_Maximize,380,40,120,20,"Maximize")
CheckBoxGadget(#Check_Minimize,380,60,120,20,"Minimize")
CheckBoxGadget(#Check_Invisible,380,80,120,20,"Invisible")
CheckBoxGadget(#Check_ScreenCentered,245,125,120,20,"ScreenCentered")
CheckBoxGadget(#Check_SizeGadget,245,190,120,20,"SizeGadget")
CheckBoxGadget(#Check_Bound,365,190,120,20,"WindowBound")
CheckBoxGadget(#Check_Invisiblebar,15,425,220,20,"Invisible dans barre des Tâches")
CheckBoxGadget(#Check_StickyWin,15,365,220,20,"StickyWindow")
CheckBoxGadget(#Check_Wincolor,15,125,80,20,"Couleur")
CheckBoxGadget(#Check_Statbar,15,345,80,20,"Statubar")
CheckBoxGadget(#Check_Transp,15,235,105,20,"Transparence")
CheckBoxGadget(#Check_Doubletrame,15,305,220,20,"Double trame")
CheckBoxGadget(#Check_Hombre,15,325,220,20,"Fenêtre avec ombre")
CheckBoxGadget(#Check_Cadre,15,385,220,20,"Fenêtre sans titre avec cadre")
DisableGadget(41,1)
CheckBoxGadget(#Check_Depsour,15,405,220,20,"Déplace une fenêtre BorderLess")
DisableGadget(42,1)
CheckBoxGadget(#Check_Loop_1,245,310,240,20,"Minimale 1 (Utile pour des tests)")
CheckBoxGadget(#Check_Loop_2,245,338,240,20,"Minimale 2 (Boucle a votre choix)")
SetGadgetState(#Check_Loop_2,#PB_Checkbox_Checked)
CheckBoxGadget(#Check_Loop_3,245,366,240,20,"Standard 1 (If, EndIf)")
CheckBoxGadget(#Check_Loop_4,245,394,240,20,"Standard 2 (Select,Case,Endselect)")
CheckBoxGadget(#Check_Loop_5,245,422,240,20,"Sans fin (Utile pour Borderless)")
ToolTipMic(#WinCtr,#Check_Loop_5,"Boucle sans fin. Un bouton d'arrêt est obligatoire.(Principale utilisation : fenêtre Borderless.)")
;====== gadgets text
TextGadget(#Text_id,10,26,20,20, "# +")
TextGadget(#Text_posX,245,148,130,20, "Position X:")
TextGadget(#Text_posY,380,148,15,20, "Y:")
TextGadget(#Text_tailarg,245,170,130,20, "Taille Larg:")
TextGadget(#Text_tailhaut,375,170,60,20, "Haut:")
TextGadget(#Text_utilbound,265,215,230,20,"Si WindowBound: Taille mini/maxi")
SetGadgetColor(#Text_utilbound,#PB_Gadget_FrontColor,$D9C2BD)
TextGadget(#Text_Bdlargmin,245,236,60,20,"Larg/min")
TextGadget(#Text_Bdhautmin,365,236,60,20,"Haut/min")
TextGadget(#Text_Bdlargmax,245,260,60,20,"Larg/max")
TextGadget(#Text_bdhautmax,365,260,60,20,"Haut/max")
For x = 65 To 69
SetGadgetColor(x,#PB_Gadget_FrontColor,$D9C2BD)
Next
TextGadget(#Text_col1,15,150,10,20,"R"):SetGadgetColor(#Text_col1,#PB_Gadget_FrontColor,$0000C8)
TextGadget(#Text_col2,15,170,10,20,"G"):SetGadgetColor(#Text_col2,#PB_Gadget_FrontColor,$008000)
TextGadget(#Text_col3,15,190,10,20,"B"):SetGadgetColor(#Text_col3,#PB_Gadget_FrontColor,$C80000)
TextGadget(#Text_col4,27,150,20,20,"$00")
TextGadget(#Text_col5,27,170,20,20,"$00")
TextGadget(#Text_col6,27,190,20,20,"$00")
TextGadget(#Text_colcod,175,127,50,20,"$000000",#ES_CENTER)
TextGadget(#Text_colG,175,150,50,55,"",#PB_Text_Border)
TextGadget(#Text_statbarnbchamp,100,345,90,20,"Nb champs:")
TextGadget(#Text_Transp,177,233,30,20,"255",#ES_CENTER|#PB_Text_Border)
;====== Gadget String
StringGadget(#String_Winid,40,23,180,20,"Ma_fen")
StringGadget(#String_Titre,10,73,210,20,"Ma Fenêtre")
StringGadget(#String_PosX,320,145,40,18,"500",#ES_CENTER)
StringGadget(#String_PosY,420,145,40,18,"200",#ES_CENTER)
StringGadget(#String_Larg,320,168,40,18,"400",#ES_CENTER)
StringGadget(#String_Haut,420,168,40,18,"400",#ES_CENTER)
StringGadget(#String_BdL_Mini,320,235,40,18,"50",#ES_CENTER)
SendMessage_(GadgetID(#String_BdL_Mini),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdL_Mini,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_BdH_Mini,435,235,40,18,"50",#ES_CENTER)
SendMessage_(GadgetID(#String_BdH_Mini),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdH_Mini,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_BdL_Maxi,320,258,40,18,"800",#ES_CENTER)
SendMessage_(GadgetID(#String_BdL_Maxi),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdL_Maxi,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_BdH_Maxi,435,258,40,18,"800",#ES_CENTER)
SendMessage_(GadgetID(#String_BdH_Maxi),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdH_Maxi,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_Statbar,180,344,20,20,"3",#ES_CENTER)
;====== Gadget Bouton
ButtonGadget(#Bt_Cop,10,472,85,20,"Copier")
ToolTipMic(#WinCtr,#Bt_Cop,"Copie le code dans le presse-papiers.")
ButtonGadget(#Bt_enrmod,100,472,100,20,"Enr un modèle")
ToolTipMic(#WinCtr,#Bt_enrmod,"Enregistre cette fenêtre comme modèle.")
ButtonGadget(#Bt_Ouvmod,205,472,120,20,"Ouvre un modèle")
ToolTipMic(#WinCtr,#Bt_Ouvmod,"Ouvre un modèle de fenêtre.")
ButtonGadget(#Bt_Raz,330,472,75,20,"R A Z")
ToolTipMic(#WinCtr,#Bt_Raz,"Remet a zéro WinConstructeur.")
ButtonGadget(#Bt_Stop,410,472,85,20,"Quitter")
ToolTipMic(#WinCtr,#Bt_Stop,"On termine ici.")
ButtonGadget(130,100,127,70,20,"ColorReq");btcolreq
DisableGadget(130,1)
;====== Gadget autres
TrackBarGadget(#trck_R,50,148,125,20,0,255)
TrackBarGadget(#trck_G,50,168,125,20,0,255)
TrackBarGadget(#trck_B,50,188,125,20,0,255)
TrackBarGadget(#Trakb_Winctr,7,258,220,20,50,255)
SetGadgetState(#Trakb_Winctr,255)
While WindowEvent() : Wend
EditorGadget(#Edit,2,505,500,170,#PB_Editor_ReadOnly)
SetGadgetColor(#Edit,#PB_Gadget_BackColor,$699A14)
fendepart()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Timer
If EventTimer() = #timer1
osbt\szText = @ ""
SendMessage_(StatusBarID(#StatusBar),#SB_SETTEXT,1 | #SBT_OWNERDRAW,osbt)
EndIf
Case #PB_Event_CloseWindow
If GetActiveWindow()= #WinCtr
Quit = #True
EndIf
Case #PB_Event_Gadget
Interaction(EventGadget())
Select EventGadget()
Case #Bt_coloreq
colorRequest()
Case #Bt_Cop
contructeurwin()
ClearClipboard()
SetClipboardText(GetGadgetText(#Edit))
Case #Bt_enrmod
EnrWmodel()
Case #Bt_Ouvmod
Ouvmod()
Case #Bt_Raz
Raz()
Case #Bt_Stop
CloseWindow(#WinCtr)
CloseWindow(#ftest)
Quit = #True
Case 20 To 35,40 To 42
While WindowEvent() : Wend
contructeurwin()
Case 100 To 106
Select EventType()
Case #PB_EventType_Change
contructeurwin()
EndSelect
Case 107 To 110
Select EventType()
Case #PB_EventType_Change
wBound(1)
EndSelect
EndSelect
EndSelect
Until Quit
UnhookWindowsHookEx_(HookMouse)
FreeBalloonTooltip(Tooltip.l)
End