Page 1 sur 1
Selection dans stringgadget
Publié : ven. 09/oct./2015 16:55
par microdevweb
Bonjour,
Quel est l'équivalent Linux de ceci (Windows)
Code : Tout sélectionner
SendMessage_(GadgetID(Gadget),#EM_GETSEL,@PosStart,@PosEnd)
SendMessage_(GadgetID(Gadget),#EM_SETSEL,PosStart,PosEnd)
Merci
Re: Selection dans stringgadget
Publié : ven. 09/oct./2015 20:53
par Vera
Bonsoir
microdevweb,
Ici j'ai trouvé une solution pour GET SELECTION, by
Omi:
EditField_GetSelection.pb
Code : Tout sélectionner
;======================================================================
; Module/File: EditField_GetSelection.pb
; Function: StringGadget: gets selected area with UTF-8 - Linux
; Author: Omi
; Date: Oct. 14, 2014
; Version: 0.2
; Target Compiler: PureBasic 5.22, 5.30
; Target OS: (X/K)ubuntu 32/64, Ascii/Uni
; License: Free, unrestricted, no warranty
;======================================================================
EnableExplicit
ImportC ""
g_signal_connect(*instance, detailed_signal.p-ascii, *c_handler, *pdata, destroy= 0, flags= 0) As "g_signal_connect_data"
EndImport
; Object constants
#MainWin= 0
#But = 0
#String = 1
#WinX=300
#WinY=200
#WinW=250
#WinH=200
Global.i gEvent, gQuit, gCounter
;- Functions ...
ProcedureC Edit_Changed(*widget, signal, user_data)
; Debug signal
; Debug user_data
; Debug gCounter
; gCounter+ 1
EndProcedure
Procedure.s SelectedStringpart(Gadget)
Protected start_pos, end_pos
Protected *lMem
If gtk_editable_get_selection_bounds_(GadgetID(Gadget), @start_pos, @end_pos)
*lMem= gtk_editable_get_chars_(GadgetID(Gadget), start_pos, end_pos)
ProcedureReturn PeekS(*lMem, -1, #PB_UTF8)
Else
ProcedureReturn ""
EndIf
EndProcedure
;- Example ...
If OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "StringGadget-Cursorpos", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(#String, 10, 5, 230, 25, "Select a part of this string (UTF-8) ÄÖÜ")
ButtonGadget(#But, 10, 35, 200, 25, "then push me")
SetActiveGadget(#String)
g_signal_connect(GadgetID(#String), "changed", @Edit_Changed(), 25)
Repeat
gEvent= WaitWindowEvent()
Select gEvent
Case #PB_Event_CloseWindow
gQuit= #True
Case #PB_Event_Gadget
If EventGadget()= #but
Debug SelectedStringpart(#String); UTF8 in Ascii rückgewandelt (reverted)
EndIf
EndSelect
Until gQuit
EndIf
Mais parmi les autres codes je ne pouvais pas trouver l'opposé.
Re: Selection dans stringgadget
Publié : sam. 10/oct./2015 8:37
par microdevweb
Thanks Vera for your searching, i look this code but im not linux so i don't try this.
Re: Selection dans stringgadget
Publié : sam. 10/oct./2015 10:45
par Vera
microdevweb a écrit :Thanks Vera for your searching, i look this code but im not linux so i don't try this.
Why do you ask for it?
Why do you ask in two forums? ->
english forum request
Why do you make 3 members come to your aid knowing you won't test any code that runs on Linux?
Pourquoi le demandez-vous ?
Pourquoi demandez-vous dans deux forums ?-> demande de forum anglaise
Pourquoi faites-vous 3 membres venir à votre aide en sachant que vous n'évaluerez pas de code qui court sur Linux ?
Re: Selection dans stringgadget
Publié : sam. 10/oct./2015 10:59
par microdevweb
Oui c'est un problème, dans mon rad j'utilise ces 2 Api. Et ne peu donc le rendre multi plateforme. Je pensais réellement que le même genre d'Api existait pour Linux, mac. (et aurais demandé la contribution de membres pour le teste)
Mais je vais jouer l’égoïste et laisser le RAD windows only
Yes it's a problem, in my RAD code i use 2 windows api. So my RAD it's no multi OS, i find really if exist a similar code for Linux and Mac (after for the test, i ask to members of this forum for testing)
But i selfish play and let my Rad code Windows Only