Tiens c'est tellement vrai que j'y ai ajouté un petit rien.
- Création d'un menu standard (base de) et la "status barre". Deux cases à cocher ou non...
Code : Tout sélectionner
; ==============================
; **** Création de fenêtres ****
; ==============================
;
Global Auteur$
Auteur$="Grand Chris & un petit peu GeBonet"
;
;- Enumerations
;{/ Fenêtres
Enumeration
#Window_Main
EndEnumeration
;/ Gadgets
Enumeration
#CheckBox_SystemMenu
#CheckBox_MinimizeGadget
#CheckBox_MaximizeGadget
#CheckBox_SizeGadget
#CheckBox_Invisible
#CheckBox_TitleBar
#CheckBox_BorderLess
#CheckBox_Tool
#CheckBox_ScreenCentered
#CheckBox_WindowCentered
#CheckBox_Maximize
#CheckBox_Minimize
#CheckBox_NoGadgets
;
#CheckBox_Smart
#CheckBox_Bound
#CheckBox_Loop
#CheckBox_Menus
#CheckBox_Status
#Button_OnPlace
#Button_Cancel
#Button_NewTab
#String_W
#String_H
#String_X
#String_Y
#String_WindowIdent
#String_Bound_W_Mini
#String_Bound_H_Mini
#String_Bound_W_Maxi
#String_Bound_H_Maxi
#String_Titre
#String_StatusChamp
#Edit_Code
#Frame3D_Attributs
#Frame3D_Taille
#Frame3D_Constante
#Frame3D_TailleBound
#Frame3D_Action
#Frame3D_Titre
#Frame3D_Options
#Frame3D_Loop
#Frame3D_Menus
#Frame3D_Status
#Text_Taille
#Text_Position
#Text_Largeur
#Text_Hauteur
#Text_PosX
#Text_PosY
#Text_TailleMin
#Text_TailleMax
#Text_LargeurMin
#Text_HauteurMin
#Text_LargeurMax
#Text_HauteurMax
#Text_StatusChamp
EndEnumeration
;/ Polices
Enumeration
#Font
#LF=10
EndEnumeration;}
;{- Constantes spéciales
;/ Constantes utilisées pour le transfert sous jaPBe
#WMCD_OpenFile = 1 ; Ouvre un fichier dans une nouvelle page
#WMCD_InsertText = 2 ; Insère le texte à la position du curseur.
#wmCD_ReplaceCompleteText = 3 ; Remplace la totalité du texte
#wmcd_ReplaceCurrentLine = 4 ; Remplace la ligne ou se trouve le curseur
#wmcd_NewText = 5 ; Ouvre un nouvel onglet, et lui passe le texte
;}
;{- Variables Globales
Global Button_OnPlace_Tooltip
Global Button_NewTab_Tooltip
Global Smart$
Global RunOneWin = FindWindow_(@"WindowClass_0", @"jaPBe-RunOneWindow")
Global PosX, PosY, On
;}
;{- Tableaux, Listes et Structures
Global Dim Chaines.s(1, 12)
Chaines(1,0) = "#PB_Window_SystemMenu|"
Chaines(1,1) = "#PB_Window_MinimizeGadget|"
Chaines(1,2) = "#PB_Window_MaximizeGadget|"
Chaines(1,3) = "#PB_Window_SizeGadget|"
Chaines(1,4) = "#PB_Window_Invisible|"
Chaines(1,5) = "#PB_Window_TitleBar|"
Chaines(1,6) = "#PB_Window_BorderLess|"
Chaines(1,7) = "#PB_Window_Tool|"
Chaines(1,8) = "#PB_Window_ScreenCentered|"
Chaines(1,9) = "#PB_Window_WindowCentered|"
Chaines(1,10) = "#PB_Window_Maximize|"
Chaines(1,11) = "#PB_Window_Minimize|"
Chaines(1,12) = "#PB_Window_NoGadgets|"
;}
;- Creation tooltip
Procedure GadgetBalloonToolTip(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, GetSysColor_(#COLOR_INFOBK), 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 ChangeGadgetBalloonToolTip(Tooltip.l, GadgetNumber.l, Text.s)
Protected Balloon.TOOLINFO
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)
EndProcedure
Procedure FreeBalloonTooltip(Tooltip.l)
DestroyWindow_(Tooltip.l)
EndProcedure
; - Procédures
;/ Création de la fenêtre
Procedure OpenWin_Main()
;
;If OpenWindow(#Window_Main, PosX, PosY, 465, 465, "WindowMaker", #PB_Window_Tool|#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_WindowCentered|#PB_Window_SizeGadget)
If OpenWindow(#Window_Main, PosX, PosY, 465, 550, "WindowMaker", #PB_Window_Tool|#PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_WindowCentered|#PB_Window_SizeGadget)
WindowBounds(#Window_Main, 465, 465, #PB_Ignore, 600)
StickyWindow(#Window_Main, 1)
;
Font = LoadFont(#Font, "Courrier", 8, #PB_Font_HighQuality)
;
CheckBoxGadget(#CheckBox_SystemMenu, 15, 80,100, 20, "SystemMenu")
CheckBoxGadget(#CheckBox_Tool, 120, 80,100, 20, "Tool")
CheckBoxGadget(#CheckBox_MinimizeGadget, 15, 105,100, 20, "MinimizeGadget")
CheckBoxGadget(#CheckBox_ScreenCentered,120, 105,100, 20, "ScreenCentered ")
CheckBoxGadget(#CheckBox_MaximizeGadget, 15, 130,100, 20, "MaximizeGadget")
CheckBoxGadget(#CheckBox_WindowCentered,120, 130,100, 20, "WindowCentered ")
CheckBoxGadget(#CheckBox_SizeGadget, 15, 155,100, 20, "SizeGadget")
CheckBoxGadget(#CheckBox_Maximize, 120, 155,100, 20, "Maximize")
CheckBoxGadget(#CheckBox_Smart, 240, 155, 90, 20, "SmartWindow")
CheckBoxGadget(#CheckBox_Bound, 365, 155, 90, 20, "WindowBound")
CheckBoxGadget(#CheckBox_Invisible, 15, 180,100, 20, "Invisible")
CheckBoxGadget(#CheckBox_Minimize, 120, 180,100, 20, "Minimize")
CheckBoxGadget(#CheckBox_TitleBar, 15, 205,100, 20, "TitleBar")
CheckBoxGadget(#CheckBox_NoGadgets, 120, 205,100, 20, "NoGadgets")
CheckBoxGadget(#CheckBox_BorderLess, 15, 230,100, 20, "BorderLess")
CheckBoxGadget(#CheckBox_Loop, 135, 280, 90, 20, "Inclure Boucle")
;
CheckBoxGadget(#CheckBox_Menus,100,325,100,20,"Menu O/N)")
CheckBoxGadget(#CheckBox_Status,240,325,90,20,"Status O/N")
;
ButtonGadget(#Button_NewTab, 240, 280, 75, 20, "", #PB_Button_Default)
ButtonGadget(#Button_OnPlace, 315, 280, 75, 20, "Sur place")
ButtonGadget(#Button_Cancel, 400, 280, 55, 20, "Quitter")
;
If RunOneWin
SetGadgetText(#Button_NewTab, "Nouvel onglet")
Else
DisableGadget(#Button_OnPlace, 1)
SetGadgetText(#Button_NewTab, "Copier")
EndIf
;
StringGadget(#String_W, 240, 105, 45, 20, "", #ES_CENTER)
StringGadget(#String_H, 300, 105, 45, 20, "", #ES_CENTER)
StringGadget(#String_X, 355, 105, 45, 20, "", #ES_CENTER)
StringGadget(#String_Y, 410, 105, 45, 20, "", #ES_CENTER)
StringGadget(#String_WindowIdent, 10, 280, 110, 20, "")
StringGadget(#String_Bound_W_Mini, 240, 230, 45, 20, "")
StringGadget(#String_Bound_H_Mini, 300, 230, 45, 20, "")
StringGadget(#String_Bound_W_Maxi, 355, 230, 45, 20, "")
StringGadget(#String_Bound_H_Maxi, 410, 230, 45, 20, "")
StringGadget(#String_Titre, 10, 25, 445, 20, "")
;
StringGadget(#String_StatusChamp,400,325,50, 20, "")
;
; EditorGadget(#Edit_Code, 5, 320, 455, 140, #PB_Editor_ReadOnly)
EditorGadget(#Edit_Code, 5, 355, 455, 190, #PB_Editor_ReadOnly)
SetGadgetFont(#Edit_Code, FontID(#Font))
SetGadgetColor(#Edit_Code, #PB_Gadget_BackColor , $00E1FFFF)
;
Frame3DGadget(#Frame3D_Attributs, 5, 55, 225, 200, "Attributs de la fenêtre")
Frame3DGadget(#Frame3D_Taille, 235, 55, 225, 75, "Taille - Position de la fenêtre")
Frame3DGadget(#Frame3D_Constante, 5, 260, 120, 50, "Constante")
Frame3DGadget(#Frame3D_Loop, 130, 260, 100, 50, "Boucle")
Frame3DGadget(#Frame3D_TailleBound, 235, 185, 225, 70, "Taille Mini/Maxi de la fenêtre")
Frame3DGadget(#Frame3D_Action, 235, 260, 160, 50, "Coller dans")
Frame3DGadget(#Frame3D_Titre, 5, 5, 455, 45, "Titre de la fenêtre")
Frame3DGadget(#Frame3D_Options, 235, 135, 225, 45, "Options")
; ----------------------------------------------------------------
Frame3DGadget(#Frame3D_Menus, 5, 310, 225,40, "Menus Standard")
Frame3DGadget(#Frame3D_Status,235, 310, 225,40, "Status Barre")
;
; ----------------------------------------------------------------
TextGadget(#Text_Taille, 245, 75, 100, 15, "Taille", #PB_Text_Center)
TextGadget(#Text_Position, 355, 75, 100, 15, "Position", #PB_Text_Center)
TextGadget(#Text_Largeur, 245, 90, 50, 15, "Largeur", #PB_Text_Center)
TextGadget(#Text_Hauteur, 295, 90, 50, 15, "Hauteur", #PB_Text_Center)
TextGadget(#Text_PosX, 355, 90, 45, 15, "X", #PB_Text_Center)
TextGadget(#Text_PosY, 410, 90, 45, 15, "Y", #PB_Text_Center)
TextGadget(#Text_TailleMin, 245, 200, 100, 15, "Taille mini", #PB_Text_Center)
TextGadget(#Text_TailleMax, 355, 200, 100, 15, "Taille maxi", #PB_Text_Center)
TextGadget(#Text_LargeurMin, 240, 215, 45, 15, "Largeur", #PB_Text_Center)
TextGadget(#Text_HauteurMin, 300, 215, 45, 15, "Hauteur")
TextGadget(#Text_LargeurMax, 355, 215, 45, 15, "Largeur")
TextGadget(#Text_HauteurMax, 410, 215, 45, 15, "Hauteur")
;
TextGadget(#Text_StatusChamp,330,327,65, 20,"Nb. Champs")
;
For i =#String_Bound_W_Mini To #String_Bound_H_Maxi
DisableGadget(i, 1)
Next
DisableGadget(#CheckBox_Status, 1)
DisableGadget(#Text_StatusChamp, 1)
DisableGadget(#String_StatusChamp, 1)
DisableGadget(#CheckBox_Bound, 1)
;
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Return, #Button_NewTab)
AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Control|#PB_Shortcut_Return, #Button_OnPlace)
;
Button_OnPlace_Tooltip = GadgetBalloonToolTip(#Window_Main, #Button_OnPlace, "Coller la fenêtre à la position du curseur."+Chr(10)+Chr(10)+"[Ctrl]+[Entrée]")
Button_NewTab_Tooltip = GadgetBalloonToolTip(#Window_Main, #Button_NewTab, "Coller dans un nouvel onglet."+Chr(10)+Chr(10)+"[Entrée]")
;
CheckBox_BorderLess_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_BorderLess ,"Créer une fenêtre sans bordures" )
CheckBox_Bound_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Bound , "Définit les dimensions maxi et mini de la fenêtre" )
CheckBox_Invisible_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Invisible ,"Créer une fenêtre invisible" )
CheckBox_Loop_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Loop , "Inclure la boucle dans le code")
CheckBox_Maximize_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Maximize , "Ouvrir la fenêtre en mode maximisé")
CheckBox_MaximizeGadget_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_MaximizeGadget , "Ajouter le bouton 'Maximiser' en haut de la fenêtre")
CheckBox_Minimize_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Minimize , "Ouvrir la fenêtre en mode Minimisé" )
CheckBox_MinimizeGadget_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_MinimizeGadget , "Ajouter le bouton 'Minimiser' en haut de la fenêtre")
CheckBox_NoGadgets_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_NoGadgets , "Créer une fenêtre sans gadgets")
CheckBox_ScreenCentered_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_ScreenCentered , "Créer une fenêtre centrée dans l'écran")
CheckBox_SizeGadget_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_SizeGadget , "Créer une fenêtre redimensionnable")
CheckBox_Smart_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Smart , "Tente d'empecher le scintillement de la fenêtre lors des redimensionnements" )
CheckBox_SystemMenu_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_SystemMenu , "Créer une fenêtre avec le menu système")
CheckBox_TitleBar_TT = GadgetBalloonToolTip( #Window_Main,#CheckBox_TitleBar , "Créer une fenêtre avec une barre de titre")
CheckBox_Tool_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Tool , "Créer une fenêtre avec une barre de titre réduite")
CheckBox_Window_Menu = GadgetBalloonToolTip(#Window_Main ,#CheckBox_WindowCentered , "Créer une fenêtre centrée dans la fenêtre mère")
;
CheckBox_WindowCentered_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Menus, "Créer un Menu Standard")
CheckBox_WindowCentered_TT = GadgetBalloonToolTip(#Window_Main ,#CheckBox_Status,"Créer un Statud Barre")
CheckBox_WindowCentered_TT = GadgetBalloonToolTip(#Window_Main ,#String_StatusChamp,"Nombre de champs"+Chr(#LF)+"pour le status barre")
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
;/ Création et affichage du code
Procedure BuildString()
;/ Initialisation de l'affichage
Option$ = ""
ClearGadgetItems(#Edit_Code)
;
;/ Création de la chaine d'options
For i = #CheckBox_SystemMenu To #CheckBox_NoGadgets
If Chaines(0,i) = "1"
Option$ + Chaines(1,i)
EndIf
Next
;
If Right(Option$, 1) = "|"
Option$ = Left(Option$, Len(Option$)-1)
EndIf
;
Ident$ = GetGadgetText(#String_WindowIdent)
If Left(Ident$,1) <> "#"
Ident$ = "#"+Ident$
EndIf
;
If Ident$ = "#" : Ident$ = "#Win_0" : EndIf
;
X$ = GetGadgetText(#String_X) : If X$ = "" : X$ = "#PB_Ignore" : EndIf
Y$ = GetGadgetText(#String_Y) : If Y$ = "" : Y$ = "#PB_Ignore" : EndIf
W$ = GetGadgetText(#String_W) : If W$ = "" : W$ = "#PB_Ignore" : EndIf
H$ = GetGadgetText(#String_H) : If H$ = "" : H$ = "#PB_Ignore" : EndIf
;
Titre$ = Chr(34)+GetGadgetText(#String_Titre)+Chr(34)
;
Temp$ = Ident$+", "+X$+", "+Y$+", "+W$+", "+H$+", "+Titre$+", "+Option$
If Right(Trim(Temp$), 1) = "," : Temp$ = Left(Temp$, Len(Temp$)-2) : EndIf
;
Fenetre$ = "If OpenWindow("+Temp$+")"
;/ Création de la commande "WindowBound()"
If GetGadgetState(#CheckBox_Bound) = 1
BWMax$ = GetGadgetText(#String_Bound_W_Maxi) : If BWMax$ = "" : BWMax$ = "#PB_Ignore" : EndIf
BHMax$ = GetGadgetText(#String_Bound_H_Maxi) : If BHMax$ = "" : BHMax$ = "#PB_Ignore" : EndIf
BWMin$ = GetGadgetText(#String_Bound_W_Mini) : If BWMin$ = "" : BWMin$ = "#PB_Ignore" : EndIf
BHMin$ = GetGadgetText(#String_Bound_H_Mini) : If BHMin$ = "" : BHMin$ = "#PB_Ignore" : EndIf
Bound$ = "WindowBounds("+Ident$+", "+BWMin$+", "+BHMin$+", "+BWMax$+", "+BHMax$+")"
ElseIf GetGadgetState(#CheckBox_Bound) = 0
Bound$ = ""
EndIf
;/ Création de la commande "SmartWindowRefresh()"
If GetGadgetState(#CheckBox_Smart) = 1
Smart$ = "SmartWindowRefresh("+ Ident$+", 1)"
ElseIf GetGadgetState(#CheckBox_Smart) = 0
Smart$ = ""
EndIf
;/ Affichage du code
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii:%ss", Date())
AddGadgetItem(#Edit_Code, -1,"; ==================================================")
AddGadgetItem(#Edit_Code, -1,"; Code crée par : "+ Auteur$)
AddGadgetItem(#Edit_Code, -1,"; Le : "+Date$+" a "+Time$)
AddGadgetItem(#Edit_Code, -1,"; ==================================================")
AddGadgetItem(#Edit_Code, -1, "Enumeration")
AddGadgetItem(#Edit_Code, -1, " "+Ident$)
AddGadgetItem(#Edit_Code, -1, "EndEnumeration")
AddGadgetItem(#Edit_Code, -1, "")
; -----------------------------------------------------
If On=1
AddGadgetItem(#Edit_Code, -1, "Enumeration")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_titre_FICHIER")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Nouveau")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Ouvrir")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Sauver")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Sortie")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_titreEDIT")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Copier")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Coller")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Effacer")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Chercher")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_titreAIDES")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_Aides")
AddGadgetItem(#Edit_Code, -1, " #MenuBar_Form1_About")
AddGadgetItem(#Edit_Code, -1, "EndEnumeration")
AddGadgetItem(#Edit_Code, -1, "")
EndIf
; ----------------------------------------------------
AddGadgetItem(#Edit_Code, -1, Fenetre$)
;
If Bound$ <> ""
AddGadgetItem(#Edit_Code, -1, Bound$)
EndIf
If Smart$ <> ""
AddGadgetItem(#Edit_Code, -1, Smart$)
EndIf
;
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, "Endif")
AddGadgetItem(#Edit_Code, -1, "")
;
If On=1
AddGadgetItem(#Edit_Code, -1, "; ---- Menus ---------")
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, "MenuBar_Form1=CreateMenu(#PB_Any,WindowID(#Win_0))")
;
AddGadgetItem(#Edit_Code, -1, "MenuTitle("+Chr(34)+"Fichier"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Nouveau,"+Chr(34)+"Nouveau"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Ouvrir,"+Chr(34)+"Ouvrir"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Sauver,"+Chr(34)+"Sauver"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuBar()")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Sortie,"+Chr(34)+"Sortie"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, "MenuTitle("+Chr(34)+"Editer"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Copier,"+Chr(34)+"Copier"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Coller,"+Chr(34)+"Coller"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Effacer,"+Chr(34)+"Effacer"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Chercher,"+Chr(34)+"Chercher"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, "MenuTitle("+Chr(34)+"Aides"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Aides,"+Chr(34)+"Aides"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, " MenuItem(#MenuBar_Form1_Coller,"+Chr(34)+"A Propos"+Chr(34)+")")
AddGadgetItem(#Edit_Code, -1, "")
If GetGadgetState(#CheckBox_Status)
AddGadgetItem(#Edit_Code, -1, "; ---- Status barre -------------------")
AddGadgetItem(#Edit_Code, -1, "StatusBar_Form1=CreateStatusBar(#PB_Any,WindowID(#Win_0))")
Nb=Val(GetGadgetText(#String_StatusChamp))
If Nb<>0
For i=1 To Nb
AddGadgetItem(#Edit_Code, -1, " AddStatusBarField(100)")
Next i
EndIf
AddGadgetItem(#Edit_Code, -1, "")
EndIf
EndIf
;
AddGadgetItem(#Edit_Code, -1, "; ---- Boucle --------------------------")
AddGadgetItem(#Edit_Code, -1, "")
If GetGadgetState(#CheckBox_Loop ) = 1
AddGadgetItem(#Edit_Code, -1, "quitte=0")
AddGadgetItem(#Edit_Code, -1, "Repeat")
AddGadgetItem(#Edit_Code, -1, " EventID =WaitWindowEvent()")
AddGadgetItem(#Edit_Code, -1, " MenuID =EventMenu()")
AddGadgetItem(#Edit_Code, -1, " GadgetID =EventGadget()")
AddGadgetItem(#Edit_Code, -1, " WindowID =EventWindow()")
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, " Select EventID")
AddGadgetItem(#Edit_Code, -1, " Case #PB_Event_CloseWindow")
AddGadgetItem(#Edit_Code, -1, " If WindowID=Window_Form1")
AddGadgetItem(#Edit_Code, -1, " quitte=1")
AddGadgetItem(#Edit_Code, -1, " EndIf")
AddGadgetItem(#Edit_Code, -1, "")
; ----------- Cas Menu -----------------------
If On=1
AddGadgetItem(#Edit_Code, -1," Case #PB_Event_Menu")
AddGadgetItem(#Edit_Code, -1," Select MenuID")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Nouveau")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Ouvrir")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Sauver")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Sortie")
AddGadgetItem(#Edit_Code, -1," quitte=1")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Copier")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Coller")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Effacer")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Chercher")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_Aides")
AddGadgetItem(#Edit_Code, -1," Case #MenuBar_Form1_About")
AddGadgetItem(#Edit_Code, -1," EndSelect")
EndIf
;
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, " Case #PB_Event_Gadget")
AddGadgetItem(#Edit_Code, -1, " Select GadgetID")
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, " ; Votre code selection gadget <ici>")
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, " EndSelect")
AddGadgetItem(#Edit_Code, -1, "")
AddGadgetItem(#Edit_Code, -1, " EndSelect")
AddGadgetItem(#Edit_Code, -1, "Until quitte")
AddGadgetItem(#Edit_Code, -1, "End")
AddGadgetItem(#Edit_Code, -1, ";>>>>>>> =========== FIN ========== <<<<<<<")
; ----- Fin de Loop ---------
EndIf
;
EndProcedure
;/ Transfert des données sous jaPBe
Procedure SendDatasToEditor(MainWin, Text$, Mode.l)
; RunOneWin = FindWindow_(@"WindowClass_0", @"jaPBe-RunOneWindow")
If RunOneWin
If Text$
cd.COPYDATASTRUCT
cd\dwData = Mode
cd\cbData = Len(Text$)+1
cd\lpData = @Text$
SendMessage_(RunOneWin, #WM_COPYDATA, MainWin, cd)
EndIf
Else
ClearClipboard()
SetClipboardText(Text$)
MessageRequester("Terminé", "jaPBe n'a pas été détecté." + Chr(10) + "Les données ont été placées dans le presse-papier.", #MB_OK|#MB_ICONWARNING)
EndIf
EndProcedure
;/ Sauvegarde de la position de la fenêtre
Procedure SavePref()
If CreatePreferences(GetCurrentDirectory()+"WindowMaker.ini")
PosX = WindowX(#Window_Main)
PosY = WindowY(#Window_Main)
PreferenceGroup("Position")
WritePreferenceInteger("PosX", PosX)
WritePreferenceInteger("PosY", PosY)
ClosePreferences()
EndIf
EndProcedure
;/ Rappel de la position précédente de la fenêtre
Procedure LoadPref()
If OpenPreferences(GetCurrentDirectory()+"WindowMaker.ini")
PreferenceGroup("Position")
PosX = ReadPreferenceInteger("PosX", 800)
PosY = ReadPreferenceInteger("PosY", 400)
ClosePreferences()
EndIf
EndProcedure
;/ Gestion des messages de l'application
Procedure WinCallback(hWin, Msge, wParam, lParam)
Ret = #PB_ProcessPureBasicEvents
Select Msge
Case #WM_SIZE
ResizeGadget(#Edit_Code, #PB_Ignore, #PB_Ignore, WindowWidth(#Window_Main) - 10, WindowHeight(#Window_Main) - 325)
EndSelect
ProcedureReturn Ret
EndProcedure
;}
;{- Initialisation du programme
LoadPref()
If OpenWin_Main() = 0
End
Else
BuildString()
SetWindowCallback(@WinCallback())
EndIf
;}
On=0
;{- Boucle
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
SavePref()
Quit = #True
Case #PB_Event_Menu
Select EventMenu()
;/ Raccourcis clavier
Case #Button_NewTab
SendMessage_(GadgetID(#Edit_Code), #EM_SETSEL, 0, -1)
StringToSend$ = GetGadgetText(#Edit_Code)
SendDatasToEditor(WindowID(#Window_Main), Trim(StringToSend$), #wmcd_NewText)
SendMessage_(GadgetID(#Edit_Code), #EM_SETSEL, -1, -1)
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
;{/ Cases à cocher Paramètres
Case #CheckBox_SystemMenu
Chaines(0,0) = Str(GetGadgetState(#CheckBox_SystemMenu))
BuildString()
Case #CheckBox_MinimizeGadget
Chaines(0,1) = Str(GetGadgetState(#CheckBox_MinimizeGadget))
BuildString()
Case #CheckBox_MaximizeGadget
Chaines(0,2) = Str(GetGadgetState(#CheckBox_MaximizeGadget))
BuildString()
Case #CheckBox_SizeGadget
Chaines(0,3) = Str(GetGadgetState(#CheckBox_SizeGadget))
DisableGadget(#CheckBox_Bound, (Not GetGadgetState(#CheckBox_SizeGadget)))
BuildString()
Case #CheckBox_Invisible
Chaines(0,4) = Str(GetGadgetState(#CheckBox_Invisible))
BuildString()
Case #CheckBox_TitleBar
Chaines(0,5) = Str(GetGadgetState(#CheckBox_TitleBar))
BuildString()
Case #CheckBox_BorderLess
Chaines(0,6) = Str(GetGadgetState(#CheckBox_BorderLess))
BuildString()
Case #CheckBox_Tool
Chaines(0,7) = Str(GetGadgetState(#CheckBox_Tool))
BuildString()
Case #CheckBox_ScreenCentered
Chaines(0,8) = Str(GetGadgetState(#CheckBox_ScreenCentered))
BuildString()
Case #CheckBox_WindowCentered
Chaines(0,9) = Str(GetGadgetState(#CheckBox_WindowCentered))
BuildString()
Case #CheckBox_Maximize
Chaines(0,10) = Str(GetGadgetState(#CheckBox_Maximize))
BuildString()
Case #CheckBox_Minimize
Chaines(0,11) = Str(GetGadgetState(#CheckBox_Minimize))
BuildString()
Case #CheckBox_NoGadgets
Chaines(0,12) = Str(GetGadgetState(#CheckBox_NoGadgets))
BuildString()
;}
;{/ Cases à cocher Fonctions additionnelles
Case #CheckBox_Smart
BuildString()
Case #CheckBox_Bound
For i = #String_Bound_W_Mini To #String_Bound_H_Maxi
DisableGadget(i,(Not GetGadgetState(#CheckBox_Bound)) )
Next
If GetGadgetState(#CheckBox_Bound) = 1 : SetActiveGadget(#String_Bound_W_Mini) : EndIf
BuildString()
Case #CheckBox_Loop
BuildString()
;}
;{/ Strings
Case #String_W
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_H
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_X
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_Y
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_WindowIdent
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_Bound_W_Mini
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_Bound_H_Mini
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_Bound_W_Maxi
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_Bound_H_Maxi
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #String_Titre
If EventType() = #PB_EventType_Change
BuildString()
EndIf
; --------------------------------------------------------------
Case #CheckBox_Menus
If On=0
DisableGadget(#CheckBox_Status, 0)
DisableGadget(#Text_StatusChamp, 0)
DisableGadget(#String_StatusChamp,0)
On=1:BuildString()
Else
DisableGadget(#CheckBox_Status, 1)
DisableGadget(#Text_StatusChamp, 1)
DisableGadget(#String_StatusChamp,1)
On=0:BuildString()
EndIf
If EventType() = #PB_EventType_Change
BuildString()
EndIf
Case #CheckBox_Status
If On=1
BuildString()
EndIf
;}; --------------------------------------------------------------
;{/ Boutons
Case #Button_OnPlace
SendMessage_(GadgetID(#Edit_Code), #EM_SETSEL, 0, -1)
StringToSend$ = GetGadgetText(#Edit_Code)
SendDatasToEditor(WindowID(#Window_Main), Trim(StringToSend$), #WMCD_InsertText)
SendMessage_(GadgetID(#Edit_Code), #EM_SETSEL, -1, -1)
Case #Button_NewTab
SendMessage_(GadgetID(#Edit_Code), #EM_SETSEL, 0, -1)
StringToSend$ = GetGadgetText(#Edit_Code)
SendDatasToEditor(WindowID(#Window_Main), Trim(StringToSend$), #wmcd_NewText)
SendMessage_(GadgetID(#Edit_Code), #EM_SETSEL, -1, -1)
Case #Button_Cancel
SavePref()
Quit = #True
;}
EndSelect
EndSelect
Until Quit
;}
End
; IDE Options = PureBasic 4.51 (Windows - x86)
; CursorPosition = 277
; FirstLine = 255
; IDE Options = PureBasic 4.51 (Windows - x86)
; CursorPosition = 362
; FirstLine = 346
Voilà, c'est tout.