1° J'ai horreur de programmer toujours les mêmes codes.
2° Le Form intégré a PB ne me convient pas. (J'aime pas la façon dont le code s'écrit.)
Aparemment je ne suis pas le seul.(Désolé Polo/Gaetan).
3° En 2011 Chris avait produit WindowMaker. J'ai repris l'idée en la complétant un peu.
4° Ce code est libre, vous pouvez le copier, le modifier. Par contre pour l'intégré a un autre
logiciel, une demande sur ce Fofo serait la bienvenue.
5° Compilez la bête, faites des éssais, faites des critiques (constructives),remontez les bugs.
6° Si vous me faites part de votre intérêt pour ce logiciel, j'ai déja des idées pour une version 2
avec encore plus de possibilitées. (De toutes façons je le ferai pour moi.)
Amusez vous bien.
Ha! j'oubliais, il n'y a pas d'aide, il me semble que ce soit suffisament explicite comme cela.
Michel
Code : Tout sélectionner
; Sur une idée de Chris en 2011 (WindowMaker)
;*****************************************
; WinConstructeur V1 2/05/2013 *
; Programmer par MLD Compilation PB 5.11 *
;*****************************************
Enumeration
#WinCtr
;>>>>> les Frames
#Frame3D_idfen
#Frame3D_titre
#Frame3D_attrib
#Frame3D_wincolor
#Frame3D_tailpos
#Frame3D_opt
#Frame3D_loop
#Frame3D_fonct
;>>>>> les CheckBoxs
#Check_SystMenu ;attributs
#Check_MinimizeGad
#Check_MaximizeGad
#Check_Invisible
#Check_Tool
#Check_Maximize
#Check_Minimize
#Check_Border
#Check_ScreenCentered ;Taille/position
#Check_WindowCentered
#Check_SizeGadget
#Check_Bound
#Check_Invisiblebar ;Options
#Check_Wincolor
#Check_Statbar
#Check_StickyWin
#Check_Transp
#Check_Loop_1 ;boucle
#Check_Loop_2
#Check_Loop_3
;>>>>> les TextGadgets
#Text_id
#Text_posX
#Text_posY
#Text_tailarg
#Text_tailhaut
#Text_utilbound
#Text_Bdlargmin
#Text_bdhautmin
#Text_Bdlargmax
#Text_bdhautmax
#Text_col1
#Text_col2
#Text_col3
#Text_col4
#Text_col5
#Text_col6
#Text_colcod
#Text_colG
#Text_Transp
#Text_statbarnbchamp
#Text_idfenmere
;>>>>> les StringGadgets
#String_Winid
#String_Titre
#String_PosX
#String_PosY
#String_Larg
#String_Haut
#string_idfenmere
#String_BdL_Mini
#String_BdH_Mini
#String_BdL_Maxi
#String_BdH_Maxi
#String_Statbar
;>>>>> les boutons
#Bt_Cop
#Bt_enrmod
#Bt_Ouvmod
#Bt_Raz
#Bt_Stop
;>>>>> les autres gadgets
#ftest
#trck_R
#trck_G
#trck_B
#Trakb_Winctr
#Edit
#StatusBar
#ftestStatusBar
#timer1
#fichmod
;>>>>>> 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()
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,dp.b
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.l,uMsg.l,wParam.l,lParam.l)
Structure ODSBTEXT
szText.l
clrFront.l
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.l,GadgetNumber.l,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.l)
DestroyWindow_(Tooltip.l)
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 = @ "L'Id de la fenêtre mère est obligatoire pour cette fonction"
Case 5
osbt\szText = @ "Le model de fenêtre est enregistré"
EndSelect
SendMessage_(StatusBarID(#StatusBar),#SB_SETTEXT,1 | #SBT_OWNERDRAW,osbt)
EndProcedure
Procedure Raz()
For b = 8 To 28
SetGadgetState(b,#PB_Checkbox_Unchecked)
Next
SetGadgetState(9,#PB_Checkbox_Checked)
SetGadgetState(26,#PB_Checkbox_Checked)
SetGadgetText(50,"Ma_fen")
SetGadgetText(51,"Ma Fenêtre")
SetGadgetText(52,"500")
SetGadgetText(53,"200")
SetGadgetText(54,"400")
SetGadgetText(55,"400")
SetGadgetText(56,"")
SetGadgetText(61,"3")
SetGadgetText(#Text_Transp,"255")
trScrCent()
wBound()
affcodecolor()
fendepart()
EndProcedure
Procedure transp()
If GetGadgetState(#Check_Transp) = 1 And sap.b = 1
contructeurwin()
EndIf
EndProcedure
Procedure affcodecolor()
While WindowEvent() : Wend
If GetGadgetState(#Check_Wincolor)= 1
SetGadgetText(#Text_col4,"$" + Hex(GetGadgetState(#trck_R)))
SetGadgetText(#Text_col5,"$" + Hex(GetGadgetState(#trck_G)))
SetGadgetText(#Text_col6,"$" + Hex(GetGadgetState(#trck_B)))
SetGadgetText(#Text_colcod,GetGadgetText(#Text_col6)+ Hex(GetGadgetState(#trck_G))+ Hex(GetGadgetState(#trck_R)))
SetGadgetColor(#Text_colG,#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
SetGadgetColor(#Text_colG,#PB_Gadget_BackColor,GetWindowColor(#WinCtr))
SetGadgetState(#trck_R,0):SetGadgetText(#Text_col4,"$00")
SetGadgetState(#trck_G,0):SetGadgetText(#Text_col5,"$00")
SetGadgetState(#trck_B,0):SetGadgetText(#Text_col6,"$00")
SetGadgetText(#Text_colcod,"$000000")
EndIf
EndProcedure
Procedure trScrCent()
If GetGadgetState(#Check_ScreenCentered) = #PB_Checkbox_Checked
SetGadgetColor(#Text_posX,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(#Text_posY,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(#string_posX,#PB_Gadget_FrontColor,$EEDFDB)
SetGadgetColor(#string_posY,#PB_Gadget_FrontColor,$EEDFDB)
SendMessage_(GadgetID(#string_posX),#EM_SETREADONLY,1,0)
SendMessage_(GadgetID(#string_posY),#EM_SETREADONLY,1,0)
Else
SetGadgetColor(#Text_posX,#PB_Gadget_FrontColor,$0)
SetGadgetColor(#Text_posY,#PB_Gadget_FrontColor,$0)
SetGadgetColor(#string_posX,#PB_Gadget_FrontColor,$0)
SetGadgetColor(#string_posY,#PB_Gadget_FrontColor,$0)
SendMessage_(GadgetID(#string_posX),#EM_SETREADONLY,0,0)
SendMessage_(GadgetID(#string_posY),#EM_SETREADONLY,0,0)
EndIf
EndProcedure
Procedure trWinCent()
If GetGadgetState(#Check_WindowCentered) = #PB_Checkbox_Checked
HideGadget(#Text_posX,1)
HideGadget(#Text_posY,1)
HideGadget(#string_posX,1)
HideGadget(#string_posY,1)
HideGadget(#Text_idfenmere,0)
HideGadget(#string_idfenmere,0)
Else
HideGadget(#Text_idfenmere,1)
HideGadget(#string_idfenmere,1)
HideGadget(#Text_posX,0)
HideGadget(#Text_posY,0)
HideGadget(#string_posX,0)
HideGadget(#string_posY,0)
EndIf
EndProcedure
Procedure wBound()
If GetGadgetState(#Check_Bound)= 1
SetGadgetColor(#Text_Bdlargmin,#PB_Gadget_FrontColor,$0)
SetGadgetColor(#Text_Bdhautmin,#PB_Gadget_FrontColor,$0)
SetGadgetColor(#Text_Bdlargmax,#PB_Gadget_FrontColor,$0)
SetGadgetColor(#Text_bdhautmax,#PB_Gadget_FrontColor,$0)
SendMessage_(GadgetID(#String_BdL_Mini),#EM_SETREADONLY,0,0)
SetGadgetColor(#String_BdL_Mini,#PB_Gadget_FrontColor,$0)
SendMessage_(GadgetID(#String_BdH_Mini),#EM_SETREADONLY,0,0)
SetGadgetColor(#String_BdH_Mini,#PB_Gadget_FrontColor,$0)
SendMessage_(GadgetID(#String_BdL_Maxi),#EM_SETREADONLY,0,0)
SetGadgetColor(#String_BdL_Maxi,#PB_Gadget_FrontColor,$0)
SendMessage_(GadgetID(#String_BdH_Maxi),#EM_SETREADONLY,0,0)
SetGadgetColor(#String_BdH_Maxi,#PB_Gadget_FrontColor,$0)
Wblmin$ = GetGadgetText(#String_BdL_Mini)
wblmax$ = GetGadgetText(#String_BdL_Maxi)
Wbhmin$ = GetGadgetText(#String_BdH_Mini)
Wbhmax$ = GetGadgetText(#String_BdH_Maxi)
contructeurwin()
Else
SetGadgetColor(#Text_Bdlargmin,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(#Text_Bdhautmin,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(#Text_Bdlargmax,#PB_Gadget_FrontColor,$D9C2BD)
SetGadgetColor(#Text_bdhautmax,#PB_Gadget_FrontColor,$D9C2BD)
SendMessage_(GadgetID(#String_BdL_Mini),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdL_Mini,#PB_Gadget_FrontColor,$D9C2BD)
SendMessage_(GadgetID(#String_BdH_Mini),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdH_Mini,#PB_Gadget_FrontColor,$D9C2BD)
SendMessage_(GadgetID(#String_BdL_Maxi),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdL_Maxi,#PB_Gadget_FrontColor,$D9C2BD)
SendMessage_(GadgetID(#String_BdH_Maxi),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdH_Maxi,#PB_Gadget_FrontColor,$D9C2BD)
EndIf
EndProcedure
Procedure fendepart()
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)
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)+ " ";"|"
;*****Protection contre un id de fenêtre non remplis pour WindowCentered ****
If GetGadgetText(#string_idfenmere) = "" And GetGadgetState(#Check_WindowCentered) = 1
dp = 1
SetActiveGadget(#string_idfenmere)
alerte(4)
ProcedureReturn 0
EndIf
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤ id,placement,dimensions,titre
id$ = "#" + GetGadgetText(#String_Winid)
If GetGadgetState(#Check_ScreenCentered) <> 1 And GetGadgetState(#Check_WindowCentered) <> 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
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_WindowCentered) = 1 ; prevoir sécu pour windowID vide *********
Cw_8$ = sp$ + "#PB_Window_WindowCentered" + sp$ + "WindowID(" + "#" + GetGadgetText(#string_idfenmere) + ")"
CwP_2$ = Cw_8$ :Ctf = #PB_Window_ScreenCentered ;pour la fenêtre test ne pas utilisé FenêtreMere
EndIf
If GetGadgetState(#Check_WindowCentered) = 1
Cwtot$ = CwP_1$ + CwP_2$ + 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_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_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
WLP1L1$ = "Repeat"
AddGadgetItem(#Edit,ctl(),WLP1L1$);ecriture
WLP1L2$ = "Event = WaitWindowEvent()"
AddGadgetItem(#Edit,ctl(),WLP1L2$);ecriture
WLP1L3$ = "Until Event = #PB_Event_CloseWindow"
AddGadgetItem(#Edit,ctl(),WLP1L3$);ecriture
WLP1L4$ = "End"
AddGadgetItem(#Edit,ctl(),WLP1L4$);ecriture
EndIf
If GetGadgetState(#Check_Loop_2) = 1
WLP2L1$ = "Repeat"
AddGadgetItem(#Edit,ctl(),WLP2L1$);ecriture
WLP2L2$ = "Event = WaitWindowEvent()"
AddGadgetItem(#Edit,ctl(),WLP2L2$);ecriture
WLP2L3$ = " If Event = #PB_Event_Gadget"
AddGadgetItem(#Edit,ctl(),WLP2L3$);ecriture
WLP2L4$ = " Select EventGadget()"
AddGadgetItem(#Edit,ctl(),WLP2L4$);ecriture
WLP2L5$ = " EndSelect"
AddGadgetItem(#Edit,ctl(),WLP2L5$);ecriture
WLP2L6$ = " EndIf"
AddGadgetItem(#Edit,ctl(),WLP2L6$);ecriture
WLP2L7$ = "Until Event = #PB_Event_CloseWindow"
AddGadgetItem(#Edit,ctl(),WLP2L7$);ecriture
WLP2L8$ = "End"
AddGadgetItem(#Edit,ctl(),WLP2L8$);ecriture
EndIf
If GetGadgetState(#Check_Loop_3) = 1
WLP3L1$ = "Repeat"
AddGadgetItem(#Edit,ctl(),WLP3L1$);ecriture
WLP3L2$ = "Event = WaitWindowEvent()"
AddGadgetItem(#Edit,ctl(),WLP3L2$);ecriture
WLP3L3$ = " If Event = #PB_Event_Gadget"
AddGadgetItem(#Edit,ctl(),WLP3L3$);ecriture
WLP3L4$ = " Select EventGadget()"
AddGadgetItem(#Edit,ctl(),WLP3L4$);ecriture
WLP3L5$ = " EndSelect"
AddGadgetItem(#Edit,ctl(),WLP3L5$);ecriture
WLP3L6$ = " EndIf"
AddGadgetItem(#Edit,ctl(),WLP3L6$);ecriture
WLP3L7$ = "ForEver"
AddGadgetItem(#Edit,ctl(),WLP3L7$);ecriture
EndIf
fentest()
EndProcedure
Procedure fentest()
CloseWindow(#ftest)
OpenWindow(#ftest,X,Y,Lrg,Htr,Titr$,Btc|Bt1|Bt2|Typ|Ouv|Viv|Rds|Ctf)
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_Invisiblebar) = 1 ;invible dans la barre de tache
SetWindowLongPtr_(WindowID(#ftest),#GWL_HWNDPARENT,FindWindow_(0, ""))
EndIf
If GetGadgetState(#Check_Transp) = 1 ;transparence
SetWindowLongPtr_(WindowID(#ftest),#GWL_EXSTYLE, $00080000)
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
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$(28)
Wmodel$(1) = GetGadgetText(50) + "¤";id
Wmodel$(2) = GetGadgetText(51) + "¤";titre
If GetGadgetState(9)= 1 : Wmodel$(3) = "1" + "¤" : Else :Wmodel$(3) = "0" + "¤" :EndIf;bt system
If GetGadgetState(10)= 1 : Wmodel$(4) = "1" + "¤" : Else :Wmodel$(4) = "0" + "¤" : EndIf;bt minimise
If GetGadgetState(11)= 1 : Wmodel$(5) = "1" + "¤" : Else :Wmodel$(5) = "0" + "¤" : EndIf;bt maximise
If GetGadgetState(13)= 0 And GetGadgetState(16)= 0
Wmodel$(6) = "0" + "¤" ;fn normale
Else
If GetGadgetState(13)= 1 : Wmodel$(6) = "1" + "¤" :EndIf;fn tool
If GetGadgetState(16)= 1 : Wmodel$(6) = "2" + "¤" :EndIf ;fn borderless
EndIf
If GetGadgetState(14)= 0 And GetGadgetState(15)= 0
Wmodel$(7) = "0" + "¤" ;fn normale
Else
If GetGadgetState(14)= 1 : Wmodel$(7) = "1" + "¤" :EndIf;maximise
If GetGadgetState(15)= 1 : Wmodel$(7) = "2" + "¤" :EndIf ;minimise
EndIf
If GetGadgetState(12)= 1 : Wmodel$(8) = "1" + "¤" : Else :Wmodel$(8) = "0" + "¤" :EndIf;fn invisible
If GetGadgetState(17)= 0 And GetGadgetState(18)= 0
Wmodel$(9) = "0" + "¤" ;pas de centrage
Else
If GetGadgetState(17)= 1 : Wmodel$(9) = "1" + "¤" :EndIf;screencentered
If GetGadgetState(18)= 1 : Wmodel$(9) = "2" + "¤" :EndIf ;wincentered
EndIf
Wmodel$(10) = GetGadgetText(52) + "¤";posx
Wmodel$(11) = GetGadgetText(53) + "¤";posy
Wmodel$(12) = GetGadgetText(54) + "¤";largeur
Wmodel$(13) = GetGadgetText(55) + "¤";hauteur
If GetGadgetState(19)= 1 : Wmodel$(14) = "1" + "¤" : Else :Wmodel$(14) = "0" + "¤" :EndIf;size
If GetGadgetState(20)= 1 : Wmodel$(15) = "1" + "¤" : Else :Wmodel$(15) = "0" + "¤" :EndIf;bound
Wmodel$(16) = GetGadgetText(57) + "¤";largeur/min
Wmodel$(17) = GetGadgetText(58) + "¤";hauteur/min
Wmodel$(18) = GetGadgetText(59) + "¤";largeur/max
Wmodel$(19) = GetGadgetText(60) + "¤";hauteur/max
If GetGadgetState(22)= 1 : Wmodel$(20) = "1" + "¤" : Else :Wmodel$(20) = "0" + "¤" :EndIf;wcolor
Wmodel$(21) = GetGadgetText(#Text_col6)+ "*"+GetGadgetText(#Text_col5)+ "*"+GetGadgetText(#Text_col4)+ "*" + "¤";chiffre color
If GetGadgetState(21)= 1 : Wmodel$(22) = "1" + "¤" : Else :Wmodel$(22) = "0" + "¤" :EndIf;invisibleBT
If GetGadgetState(24)= 1 : Wmodel$(23) = "1" + "¤" : Else :Wmodel$(23) = "0" + "¤" :EndIf;sticky
If GetGadgetState(25)= 1 : Wmodel$(24) = "1" + "¤" : Else :Wmodel$(24) = "0" + "¤" :EndIf;transp
Wmodel$(25) = GetGadgetText(#Text_Transp) + "¤";chiffre transp
If GetGadgetState(23)= 1 : Wmodel$(26) = "1" + "¤" : Else :Wmodel$(26) = "0" + "¤" :EndIf;statusbar
Wmodel$(27) = GetGadgetText(61) + "¤";chiffre statusb
If GetGadgetState(26)= 1 : Wmodel$(28) = "1" + "¤" :EndIf
If GetGadgetState(27)= 1 : Wmodel$(28) = "2" + "¤" :EndIf
If GetGadgetState(28)= 1 : Wmodel$(28) = "3" + "¤" :EndIf
For x =1 To 28
mod$ = mod$ + Wmodel$(x)
Next
fichmod$ = GetGadgetText(50) + ".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(5)
EndIf
Dim Wmodel$(0)
EndProcedure
Procedure Ouvmod()
choixmod$ = "" ;mis en global
fen2(2)
ReadFile(#fichmod,choixmod$)
winmod$ = ReadString(#fichmod)
Debug winmod$
CloseFile(#fichmod)
SetGadgetText(50,StringField(winmod$,1,"¤")) : SetGadgetText(51,StringField(winmod$,2,"¤"))
SetGadgetState(9,Val(StringField(winmod$,3,"¤")))
SetGadgetState(10,Val(StringField(winmod$,4,"¤")))
SetGadgetState(11,Val(StringField(winmod$,5,"¤")))
If Val(StringField(winmod$,6,"¤")) = 0
SetGadgetState(13,0):SetGadgetState(16,0)
Else
If Val(StringField(winmod$,6,"¤")) = 1
SetGadgetState(13,1):SetGadgetState(16,0)
EndIf
If Val(StringField(winmod$,6,"¤")) = 2
SetGadgetState(13,0):SetGadgetState(16,1)
EndIf
EndIf
If Val(StringField(winmod$,7,"¤")) = 0
SetGadgetState(14,0):SetGadgetState(15,0)
Else
If Val(StringField(winmod$,7,"¤")) = 1
SetGadgetState(14,1):SetGadgetState(15,0)
EndIf
If Val(StringField(winmod$,7,"¤")) = 2
SetGadgetState(14,0):SetGadgetState(15,1)
EndIf
EndIf
SetGadgetState(12,Val(StringField(winmod$,8,"¤")))
If Val(StringField(winmod$,9,"¤")) = 0
SetGadgetState(17,0):SetGadgetState(18,0)
Else
If Val(StringField(winmod$,9,"¤")) = 1
SetGadgetState(17,1):SetGadgetState(18,0)
EndIf
If Val(StringField(winmod$,9,"¤")) = 2
SetGadgetState(17,0):SetGadgetState(18,1)
EndIf
EndIf
SetGadgetText(52,StringField(winmod$,10,"¤")) : SetGadgetText(53,StringField(winmod$,11,"¤"))
SetGadgetText(54,StringField(winmod$,12,"¤")) : SetGadgetText(55,StringField(winmod$,13,"¤"))
SetGadgetState(19,Val(StringField(winmod$,14,"¤")))
SetGadgetState(20,Val(StringField(winmod$,15,"¤")))
SetGadgetText(57,StringField(winmod$,16,"¤")) : SetGadgetText(58,StringField(winmod$,17,"¤"))
SetGadgetText(59,StringField(winmod$,18,"¤")) : SetGadgetText(60,StringField(winmod$,19,"¤"))
SetGadgetState(22,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(21,Val(StringField(winmod$,22,"¤")))
SetGadgetState(24,Val(StringField(winmod$,23,"¤")))
SetGadgetState(25,Val(StringField(winmod$,24,"¤")))
SetGadgetText(#Text_Transp,StringField(winmod$,25,"¤"))
If Val(StringField(winmod$,25,"¤")) <> 0
SetGadgetState(71,Val(StringField(winmod$,25,"¤")))
EndIf
SetGadgetState(23,Val(StringField(winmod$,26,"¤")))
SetGadgetText(61,StringField(winmod$,27,"¤"))
lp.b = Val(StringField(winmod$,28,"¤"))
Select lp.b
Case 1
SetGadgetState(26,1):SetGadgetState(27,0):SetGadgetState(28,0)
Case 2
SetGadgetState(26,0):SetGadgetState(27,1):SetGadgetState(28,0)
Case 3
SetGadgetState(26,0):SetGadgetState(27,0):SetGadgetState(28,1)
EndSelect
If Val(StringField(winmod$,20,"¤")) = 1
affcodecolor()
Else
contructeurwin()
EndIf
EndProcedure
;====== fenêtre principale =====
OpenWindow(#WinCtr, 10, 20, 470, 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/V1")
StatusBarText(#StatusBar,2," "+ Chr(174) + " MLD")
;====== gadgets Frame3D ========
Frame3DGadget(#Frame3D_idfen,5,5,255,45,"Id Fenêtre")
Frame3DGadget(#Frame3D_Titre,5,55,460,45, "Titre de la fenêtre")
Frame3DGadget(#Frame3D_Attrib,5,110,225,110,"Attributs de la fenêtre")
Frame3DGadget(#Frame3D_wincolor,5,225,225,105,"Windowcolor")
Frame3DGadget(#Frame3D_tailpos,235,110,230,220,"Position - Taille de la fenêtre")
Frame3DGadget(#Frame3D_opt,5,330,460,68,"Options")
Frame3DGadget(#Frame3D_loop,5,400,460,45,"Inclure la Boucle générale")
Frame3DGadget(#Frame3D_fonct,5,455,460,45,"Fonctions")
;====== gadgets CheckBox ========
CheckBoxGadget(#Check_SystMenu,15,135,100,20,"Bouton System")
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Checked)
CheckBoxGadget(#Check_MinimizeGad,15,155,100,20,"Bouton Minimize")
CheckBoxGadget(#Check_MaximizeGad,15,175,100,20,"Bouton Maximize")
CheckBoxGadget(#Check_Tool,15,195,80,20, "Tool")
CheckBoxGadget(#Check_Border,140,135,80,20,"BorderLess")
CheckBoxGadget(#Check_Maximize,140,155,80,20,"Maximize")
CheckBoxGadget(#Check_Minimize,140,175,80,20,"Minimize")
CheckBoxGadget(#Check_Invisible,140,195,80,20,"Invisible")
CheckBoxGadget(#Check_ScreenCentered,245,135,100,20,"ScreenCentered")
CheckBoxGadget(#Check_WindowCentered,365,135,90,20,"WindCentered")
ToolTipMic(#WinCtr,#Check_WindowCentered,"Attention l'utilisation de cette fonction donne parfois des résultats étranges?")
CheckBoxGadget(#Check_SizeGadget,245,210,80,20,"SizeGadget")
CheckBoxGadget(#Check_Bound,365,210,90,20,"WindowBound")
CheckBoxGadget(#Check_Invisiblebar,15,350,180,20,"Invisible dans la barre de Tâche")
CheckBoxGadget(#Check_StickyWin,315,350,100,20,"StickyWindow")
CheckBoxGadget(#Check_Wincolor,15,242,80,20,"Windowcolor")
CheckBoxGadget(#Check_Statbar,315,370,60,20,"Statubar")
CheckBoxGadget(#Check_Transp,15,370,85,20,"Transparence")
CheckBoxGadget(#Check_Loop_1,80,415,80,20,"Minimale")
SetGadgetState(#Check_Loop_1,#PB_Checkbox_Checked)
CheckBoxGadget(#Check_Loop_2,230,415,80,20,"Standard")
CheckBoxGadget(#Check_Loop_3,380,415,80,20,"Sans fin")
ToolTipMic(#WinCtr,#Check_Loop_3,"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,158,60,20, "Position X:")
TextGadget(#Text_idfenmere,245,158,100,20, "Id fenêtre mère")
HideGadget(#Text_idfenmere,1)
TextGadget(#Text_posY,380,158,15,20, "Y:")
TextGadget(#Text_tailarg,245,180,60,20, "Taille Larg:")
TextGadget(#Text_tailhaut,365,180,60,20, "Haut:")
TextGadget(#Text_utilbound,265,235,160,20,"Si WindowBound: Taille mini/maxi")
SetGadgetColor(#Text_utilbound,#PB_Gadget_FrontColor,$D9C2BD)
TextGadget(#Text_Bdlargmin,245,260,50,20,"Larg/min")
SetGadgetColor(#Text_Bdlargmin,#PB_Gadget_FrontColor,$D9C2BD)
TextGadget(#Text_Bdhautmin,365,260,50,20,"Haut/min")
SetGadgetColor(#Text_Bdhautmin,#PB_Gadget_FrontColor,$D9C2BD)
TextGadget(#Text_Bdlargmax,245,290,50,20,"Larg/max")
SetGadgetColor(#Text_Bdlargmax,#PB_Gadget_FrontColor,$D9C2BD)
TextGadget(#Text_bdhautmax,365,290,50,20,"Haut/max")
SetGadgetColor(#Text_bdhautmax,#PB_Gadget_FrontColor,$D9C2BD)
TextGadget(#Text_col1,15,265,10,20,"R"):SetGadgetColor(#Text_col1,#PB_Gadget_FrontColor,$0000C8)
TextGadget(#Text_col2,15,285,10,20,"G"):SetGadgetColor(#Text_col2,#PB_Gadget_FrontColor,$008000)
TextGadget(#Text_col3,15,305,10,20,"B"):SetGadgetColor(#Text_col3,#PB_Gadget_FrontColor,$C80000)
TextGadget(#Text_col4,27,265,20,20,"$00")
TextGadget(#Text_col5,27,285,20,20,"$00")
TextGadget(#Text_col6,27,305,20,20,"$00")
TextGadget(#Text_colcod,175,243,50,20,"$000000",#ES_CENTER)
TextGadget(#Text_colG,175,265,50,55,"",#PB_Text_Border)
TextGadget(#Text_statbarnbchamp,380,374,60,20,"Nb champ:")
TextGadget(#Text_Transp,277,372,30,20,"255",#ES_CENTER|#PB_Text_Border)
;====== Gadget String
StringGadget(#String_Winid,40,23,210,20,"Ma_fen")
StringGadget(#String_Titre,10,73,445,20,"Ma Fenêtre")
StringGadget(#string_idfenmere,320,155,135,20,"",#ES_CENTER)
HideGadget(#string_idfenmere,1)
StringGadget(#String_PosX,310,155,40,20,"500",#ES_CENTER)
StringGadget(#String_PosY,400,155,40,20,"200",#ES_CENTER)
StringGadget(#String_Larg,310,178,40,20,"400",#ES_CENTER)
StringGadget(#String_Haut,400,178,40,20,"400",#ES_CENTER)
StringGadget(#String_BdL_Mini,300,256,40,20,"50",#ES_CENTER)
SendMessage_(GadgetID(#String_BdL_Mini),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdL_Mini,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_BdH_Mini,415,256,40,20,"50",#ES_CENTER)
SendMessage_(GadgetID(#String_BdH_Mini),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdH_Mini,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_BdL_Maxi,300,286,40,20,"800",#ES_CENTER)
SendMessage_(GadgetID(#String_BdL_Maxi),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdL_Maxi,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_BdH_Maxi,415,286,40,20,"800",#ES_CENTER)
SendMessage_(GadgetID(#String_BdH_Maxi),#EM_SETREADONLY,1,0)
SetGadgetColor(#String_BdH_Maxi,#PB_Gadget_FrontColor,$D9C2BD)
StringGadget(#String_Statbar,440,371,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,85,20,"Enr un modèle")
ToolTipMic(#WinCtr,#Bt_enrmod,"Enregistre cette fenêtre comme modèle.")
ButtonGadget(#Bt_Ouvmod,190,472,87,20,"Ouvre un modèle")
ToolTipMic(#WinCtr,#Bt_Ouvmod,"Ouvre un modèle de fenêtre.")
ButtonGadget(#Bt_Raz,283,472,85,20,"R A Z")
ToolTipMic(#WinCtr,#Bt_Raz,"Remet a zéro WinConstructeur.")
ButtonGadget(#Bt_Stop,375,472,85,20,"Quitter")
ToolTipMic(#WinCtr,#Bt_Stop,"On termine ici.")
;====== Gadget autres
TrackBarGadget(#trck_R,50,265,125,20,0,255)
TrackBarGadget(#trck_G,50,285,125,20,0,255)
TrackBarGadget(#trck_B,50,305,125,20,0,255)
TrackBarGadget(#Trakb_Winctr,105,372,170,20,50,255)
SetGadgetState(#Trakb_Winctr,255)
While WindowEvent() : Wend
EditorGadget(#Edit,2,505,466,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
Quit = #True
Case #PB_Event_Gadget
Select EventGadget()
Case #Check_SystMenu
If GetGadgetState(#Check_MinimizeGad)= 1 Or GetGadgetState(#Check_MaximizeGad)= 1
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Unchecked)
Else
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Checked)
SetGadgetState(#Check_Tool,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Border,#PB_Checkbox_Unchecked)
EndIf
Case #Check_MinimizeGad
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Tool,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Border,#PB_Checkbox_Unchecked)
Case #Check_MaximizeGad
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Tool,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Border,#PB_Checkbox_Unchecked)
Case #Check_Tool
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Checked)
SetGadgetState(#Check_MinimizeGad,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_MaximizeGad,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Border,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Wincolor,#PB_Checkbox_Unchecked)
affcodecolor()
Case #Check_Border
SetGadgetState(#Check_SystMenu,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_MinimizeGad,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_MaximizeGad,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Tool,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_SizeGadget,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Bound,#PB_Checkbox_Unchecked)
wBound()
Case #Check_Maximize
If GetGadgetState(#Check_Maximize) = 1
SetGadgetState(#Check_Minimize,#PB_Checkbox_Unchecked)
EndIf
Case #Check_Minimize
If GetGadgetState(#Check_Minimize) = 1
SetGadgetState(#Check_Maximize,#PB_Checkbox_Unchecked)
EndIf
Case #Check_ScreenCentered
If GetGadgetState(#Check_ScreenCentered) = 1
SetGadgetState(#Check_WindowCentered,#PB_Checkbox_Unchecked)
EndIf
trScrCent()
trWinCent()
Case #Check_WindowCentered
If GetGadgetState(#Check_WindowCentered) = 1
SetGadgetState(#Check_ScreenCentered,#PB_Checkbox_Unchecked)
EndIf
trWinCent()
trScrCent()
Case #Check_SizeGadget
If GetGadgetState(#Check_Border) <> 1
If GetGadgetState(#Check_SizeGadget)= 0
SetGadgetState(#Check_Bound,#PB_Checkbox_Unchecked)
SetGadgetColor(#Text_utilbound,#PB_Gadget_FrontColor,$D9C2BD)
wBound()
Else
SetGadgetColor(#Text_utilbound,#PB_Gadget_FrontColor,$0)
EndIf
Else
SetGadgetState(#Check_SizeGadget,#PB_Checkbox_Unchecked)
alerte(2)
EndIf
Case #Check_Bound
If GetGadgetState(#Check_SizeGadget)= 1
wBound()
Else
SetGadgetState(#Check_Bound,#PB_Checkbox_Unchecked)
EndIf
Case #Check_Transp
If GetGadgetState(#Check_Transp) <> 1
SetGadgetText(#Text_Transp,"255")
SetGadgetState(#Trakb_Winctr,255)
contructeurwin()
EndIf
Case #Trakb_Winctr
If GetGadgetState(#Check_Transp) = 1
SetGadgetText(#Text_Transp,Str(GetGadgetState(#Trakb_Winctr)))
transp()
EndIf
Case #trck_R
affcodecolor()
Case #trck_G
affcodecolor()
Case #trck_B
affcodecolor()
Case #Check_Wincolor
If GetGadgetState(#Check_Tool)<> 1
affcodecolor()
Else
SetGadgetState(#Check_Wincolor,#PB_Checkbox_Unchecked)
alerte(1)
EndIf
Case #Check_Invisiblebar
If GetGadgetState(#Check_Tool) <> 1
If GetGadgetState(#Check_Invisiblebar) = 1
contructeurwin()
EndIf
Else
SetGadgetState(#Check_Invisiblebar,#PB_Checkbox_Unchecked)
alerte(3)
EndIf
Case #Check_Loop_1
SetGadgetState(#Check_Loop_1,#PB_Checkbox_Checked)
SetGadgetState(#Check_Loop_2,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Loop_3,#PB_Checkbox_Unchecked)
contructeurwin()
Case #Check_Loop_2
SetGadgetState(#Check_Loop_1,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Loop_2,#PB_Checkbox_Checked)
SetGadgetState(#Check_Loop_3,#PB_Checkbox_Unchecked)
contructeurwin()
Case #Check_Loop_3
SetGadgetState(#Check_Loop_1,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Loop_2,#PB_Checkbox_Unchecked)
SetGadgetState(#Check_Loop_3,#PB_Checkbox_Checked)
contructeurwin()
Case #Bt_Cop
contructeurwin()
If dp = 0
ClearClipboard()
SetClipboardText(GetGadgetText(#Edit))
EndIf
Case #Bt_enrmod
EnrWmodel()
Case #Bt_Ouvmod
Ouvmod()
Case #Bt_Raz
Raz()
Case #Bt_Stop
CloseWindow(#WinCtr)
CloseWindow(#ftest)
Quit = #True
EndSelect
Select EventGadget()
Case 8 To 24
While WindowEvent() : Wend
contructeurwin()
Case 50 To 56
Select EventType()
Case #PB_EventType_Change
contructeurwin()
EndSelect
Case 57 To 60
Select EventType()
Case #PB_EventType_Change
wBound()
EndSelect
EndSelect
EndSelect
Until Quit
UnhookWindowsHookEx_(HookMouse)
FreeBalloonTooltip(Tooltip.l)
End