papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Edition : couper, copier, coller, effacer, annuler Sam 16 Avr 2016 - 17:48 | |
| Salut tout le monde. A l’issue d’une conversation assez longue avec mon ami Google (que je ne comprends pas toujours ce qu’il essaie de me faire comprendre), j’ai essayé de mettre en pratique les informations qu’il m’a proposées concernant la fonction SendMessageA contenue dans user32.dll. D’après ce que j’ai compris, cette fonction permet d’éditer un texte (couper, copier, coller, supprimer, Annuler). Voici mon essai. - Code:
-
rem ============================================================================ rem SendMessageA de la user32.dll rem Edition : couper, copier, coller, effacer, annuler rem ============================================================================
Edition()
end rem ============================================================================ clic: select number_click case 20 : EditSubCut() : ' couper case 30 : EditSubCopy() : ' copier case 40 : EditSubPast() : ' coller case 50 : EditSubclear() : ' effacer case 60 : EditSubUndo() : ' annuler case 70 : terminate end_select return rem ============================================================================ SUB Edition() dim EM_UNDO : EM_UNDO = hex("C7") dim EM_CANUNDO : EM_CANUNDO = hex("C6") dim WM_USER : WM_USER = hex("400") dim EM_REDO : EM_REDO = (WM_USER + 84) dim EM_CANREDO : EM_CANREDO = (WM_USER + 85) dim WM_COPY : WM_COPY = hex("301") dim WM_CUT : WM_CUT = hex("300") dim WM_CLEAR : WM_CLEAR = hex("303") dim WM_PASTE : WM_PASTE = hex("302") dim ret%,hWnd label clic edit 10 : top 10,100 : left 10,50 : text 10 ,"Salut tout le monde" set_focus 10 button 20 : caption 20,"couper" : font_bold 20 : on_click 20,clic button 30 : caption 30,"copier" : left 30,100 : font_bold 30 : on_click 30,clic button 40 : caption 40,"coller" : left 40,200 : font_bold 40 : on_click 40,clic button 50 : caption 50,"Supprimer": left 50,300 : font_bold 50 : on_click 50,clic button 60 : caption 60,"Annuler" : left 60,400 : font_bold 60 : on_click 60,clic button 70 : caption 70,"Quitter" : left 70,500 : font_bold 70 : on_click 70,clic on_click 20,clic hWnd = handle(10) dll_on "user32" END_SUB rem ============================================================================ SUB EditSubRedo() ret% = dll_call4("SendMessageA", hWnd, EM_REDO, 0, 0) END_SUB rem ============================================================================ SUB EditSubUndo() ret% = dll_call4("SendMessageA", hWnd, EM_UNDO, 0, 0) END_SUB rem ============================================================================ SUB EditSubCopy() ret% = dll_call4("SendMessageA", hWnd, WM_COPY, 0, 0) END_SUB rem ============================================================================ SUB EditSubCut() ret% = dll_call4("SendMessageA", hWnd, WM_CUT, 0, 0) END_SUB rem ============================================================================ SUB EditSubPast() ret% = dll_call4("SendMessageA", hWnd, WM_PASTE, 0, 0) END_SUB rem ============================================================================ SUB EditSubclear() ret% = dll_call4("SendMessageA", hWnd, WM_CLEAR, 0, 0) END_SUB rem ============================================================================ SUB RichText_Change() dim_local EditSubUndo,EditSubRedo EditSubUndo = dll_call4("SendMessageA", hWnd, EM_CANUNDO, 0, 0) EditSubRedo = dll_call4("SendMessageA", hWnd, EM_CANREDO, 0, 0) END_SUB rem ============================================================================
Si quelqu'un proposait une meilleure utilisation, ... | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Edition : couper, copier, coller, effacer, annuler Dim 17 Avr 2016 - 13:47 | |
| O tu sais, en plus d'être intéressant, j'ai d'autres défauts ! | |
|
Contenu sponsorisé
| Sujet: Re: Edition : couper, copier, coller, effacer, annuler | |
| |
|