Code : Tout sélectionner
...
Case #PB_Event_Gadget
If EventType()=#PB_EventType_Change
... action
EndIf
...
Code : Tout sélectionner
...
Case #PB_Event_Gadget
If EventType()=#PB_EventType_Change
... action
EndIf
...
Code : Tout sélectionner
...
Case #PB_Event_Gadget
... action
...
Code : Tout sélectionner
Enumeration
#WinEditeur
#Editeur
#POPUP_editor
#Menu_edit_cut
#Menu_edit_copy
#Menu_edit_paste
#Menu_edit_undo
#Menu_edit_redo
#Menu_edit_select
#Menu_edit_delete
#Menu_edit_deleteAll
#Menu_edit_Centrer
#Menu_edit_AlignerDroite
#Menu_edit_AlignerGauche
#Menu_edit_Justifier
#Menu_edit_Gras
#Menu_edit_Italic
#Menu_edit_Underline
#Menu_edit_Strikeout
#Menu_edit_Normal
EndEnumeration
If OpenWindow(#WinEditeur, 10, 10, 800, 700, "Editeur - Clic-droit", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered) <> 0
;-Menu Popup
If CreatePopupImageMenu(#POPUP_editor,#PB_Menu_ModernLook);{
MenuItem(#Menu_edit_cut, "Couper")
MenuItem(#Menu_edit_copy, "Copier")
MenuItem(#Menu_edit_paste, "Coller")
MenuItem(#Menu_edit_delete, "Effacer")
MenuBar()
MenuItem(#Menu_edit_undo, "Annuler")
MenuItem(#Menu_edit_redo, "Recommencer")
MenuBar()
OpenSubMenu("Formater sélection ")
MenuItem(#Menu_edit_Centrer, "Centrer")
MenuItem(#Menu_edit_AlignerDroite, "Aligner à droite")
MenuItem(#Menu_edit_AlignerGauche, "Aligner à gauche")
MenuItem(#Menu_edit_Justifier, "Justifier")
MenuBar()
MenuItem(#Menu_edit_Gras, "Gras")
MenuItem(#Menu_edit_Italic, "Italique")
MenuItem(#Menu_edit_Underline, "Souligner")
MenuItem(#Menu_edit_Strikeout, "Barrer")
MenuItem(#Menu_edit_Normal, "Normal")
CloseSubMenu()
MenuBar()
MenuItem(#Menu_edit_select, "Sélectionner tout")
MenuItem(#Menu_edit_deleteAll, "Effacer tout")
EndIf
;}
EditorGadget(#Editeur, 10,10,780,680)
SendMessage_(GadgetID(#Editeur), #EM_EXLIMITTEXT, 0, 1024 * 1024 * 1024) ; pas de limite de texte
SendMessage_(GadgetID(#Editeur), #EM_SETTARGETDEVICE, #Null, 0) ;retour à la ligne auto
;-Programme édition
Repeat
EventID = WaitWindowEvent()
If EventID = #WM_RBUTTONDOWN ;{
Select EventGadget()
Case #Editeur ;{
selStart = 0 : selEnd = 0
SendMessage_(GadgetID(#Editeur), #EM_GETSEL, @selStart, @selEnd)
If selStart = selEnd
;{
DisableMenuItem(#POPUP_editor, #Menu_edit_cut,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_copy,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_delete,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Centrer,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_AlignerDroite,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_AlignerGauche,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Justifier,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Gras,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Italic,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Underline,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Strikeout,1)
DisableMenuItem(#POPUP_editor, #Menu_edit_Normal,1)
;}
Else
;{
DisableMenuItem(#POPUP_editor, #Menu_edit_cut,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_copy,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_delete,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Centrer,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_AlignerDroite,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_AlignerGauche,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Justifier,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Gras,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Italic,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Underline,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Strikeout,0)
DisableMenuItem(#POPUP_editor, #Menu_edit_Normal,0)
;}
EndIf
DisplayPopupMenu(#POPUP_editor,WindowID(#WinEditeur))
;}
EndSelect
;}
EndIf
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
;-Events GADGETS
If EventID = #PB_Event_Gadget ;{
Select EventGadget()
Case #Editeur
SetActiveGadget(#Editeur)
EndSelect
;}
EndIf
;-Events PopUp Menu par clic-droit
;{
If EventID = #PB_Event_Menu
Select EventMenu()
Case #Menu_edit_cut : SendMessage_(GadgetID(#Editeur), #WM_CUT,0,0)
Case #Menu_edit_copy : SendMessage_(GadgetID(#Editeur), #WM_COPY,0,0)
Case #Menu_edit_paste : SendMessage_(GadgetID(#Editeur), #WM_PASTE,0,0)
Case #Menu_edit_undo : SendMessage_(GadgetID(#Editeur),#EM_UNDO,0,0)
Case #Menu_edit_redo : SendMessage_(GadgetID(#Editeur),#EM_REDO,0,0)
Case #Menu_edit_delete
Deltext$ = ""
SendMessage_(GadgetID(#Editeur),#EM_GETSEL,@StartSel,@EndSel)
Buffer$ = Space(EndSel-StartSel)
SendMessage_(GadgetID(#Editeur),#EM_GETSELTEXT,0,@Buffer$)
SendMessage_(GadgetID(#Editeur),#EM_REPLACESEL,#True,@Deltext$)
Case #Menu_edit_select
RangeAll.CHARRANGE\cpMin = 0 : RangeAll\cpMax = -1
SendMessage_(GadgetID(#Editeur),#EM_EXSETSEL,0,@RangeAll)
Case #Menu_edit_deleteAll : ClearGadgetItems(#Editeur)
Case #Menu_edit_Centrer
Case #Menu_edit_AlignerDroite
Case #Menu_edit_AlignerGauche
Case #Menu_edit_Gras
Case #Menu_edit_Italic
Case #Menu_edit_Underline
Case #Menu_edit_Strikeout
Case #Menu_edit_Normal
;}
EndSelect
EndIf
Until Quit = 1
End
EndIf
Sais pas... voir avec un adepte du pingouin.Ulix a écrit :Il existe en LINUX ?![]()
Ok, j'ai édité le code et ajouté le Undo et le Redonico a écrit :Il manque le undo dans le code!