Tab pour un alinéa dans EditorGadget

Programmation d'applications complexes
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Tab pour un alinéa dans EditorGadget

Message par blendman »

Mesa a écrit :
En fait, dans Openoffice, on peut régler la taille d'une tabulation. Et dès qu'on appuie sur tab, cela crée une tabulation de la taille désiré. Je voudrai pouvoir faire la même chose ^^.
Il y a quelque chose qui m'échappe car mon code fait exactement cela.
il manque le choix (taille du taquet), par exemple via un menu ou un inputrequester()
Par contre, est-ce que editorgadget est capable de gérer un jeu de taquets différents pour chaque paragraphes... ?
Ce n'est pas ce que je recherche ;).
Moi, le fait que tous les taquets soient idem pour les paragraphes me va, ce que je voudrais c'est juste pouvoir changer la taille de ce taquet, comme dans open office ^^

J'ai testé ce code, mais ça ne marche pas et en plus, ça bloque le problème (l'editorgadget). Je suppose que ce n'est pas la bonne technique, mais comment changer le taquet utilisé ?

Code : Tout sélectionner

text.settextex

#ST_SELECTION=2
text\flags=#ST_SELECTION
text\codepage=#CP_ACP

Texte.s="{\rtf\tab "

Procedure LOWORD(Value)
  ProcedureReturn Value & $FFFF
EndProcedure

Procedure HIWORD(Value)
  ProcedureReturn (Value >> 16) & $FFFF
EndProcedure

Procedure MAKELONG(low, high)
  ProcedureReturn low | (high<<16)
EndProcedure

Procedure.f initTaquetTab()
  Value=GetDialogBaseUnits_()
  baseunitX=LOWORD(Value)
  baseunitY=HIWORD(Value)
 
  ;The horizontal base unit returned by GetDialogBaseUnits is equal to the average
  ;width, in pixels, of the characters in the system font;
  ;the vertical base unit is equal To the height, in pixels, of the font.
 
  hdc = GetDC_(GetDesktopWindow_())
  If hdc
    Ecrdpihz.l  = GetDeviceCaps_(hdc, #LOGPIXELSX)
  EndIf
  ;   If hdc
  ;     Ecrdpivt.l = GetDeviceCaps_(hdc, #LOGPIXELSY)
  ;   EndIf
  ReleaseDC_(GetDesktopWindow_(), hdc)    
 
  ; 1 horizontal Dialog Template Unit = (DPI écran / 96 * baseunitX)/4
  ; 1 vertical Dialog Template Unit = (DPI écran / 96 * baseunitY)/8
  pixelX.f = (Ecrdpihz/96)*baseunitX/4
  ; pixelY.f = (Ecrdpihz/96)*baseunitX/8
  ProcedureReturn pixelX
EndProcedure

facteur.f=initTaquetTab() ; transforme un nombre de caractère en dialog template units

; Si ModeTabulation = 0 alors taquets de tabulation tous les 32 dialog template units
; Si ModeTabulation = 1 alors taquets de tabulation tous les "taquet1" dialog template units
; Si ModeTabulation > 1 alors x taquets de tabulation chacun à la distance "taquets(x)"

;ModeTabulation = 0
;ModeTabulation = 1
ModeTabulation = 5  ; 5 taquets de tabulation


Dim taquets(5)  ; 5 taquets de tabulation en nombre de caractères
taquets(0) = 5*facteur
taquets(1) = 10*facteur
taquets(2) = 15*facteur
taquets(3) = 20*facteur
taquets(4) = 25*facteur

taquet1=17 * facteur   ; 1 taquet de tabulation à 5 caractères

If OpenWindow(0,0,0,320,220,"Simulate Tab",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget (0,10,60,300,140)
  CreateImage(0,300,20)
  StartDrawing(ImageOutput(0))
  Box(0,0,300,20,#White)
  Line(0,10,300,1,0)
  For i=0 To 30
    Line(10*i,0,1,20,0)
  Next i
 
  StopDrawing()
  ImageGadget(1, 10, 40, 300, 20,ImageID(0))
 
  SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#WS_TABSTOP)
  ;SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
  SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets())
  ;    ModeTabulation
  ;    The number of tab stops contained in the Array. If this parameter is zero,
  ;   @taquet1 parameter is ignored And Default tab stops are set at every 32 dialog
  ;    template units. If this parameter is 1, tab stops are set at every n dialog
  ;    template units, where n is the distance pointed To by the @taquet1 parameter.
  ;    If this parameter is greater than 1, @taquets() is a pointer To an Array of tab stops.
  ;     
  ;    @taquet1 ou @taquets()
  ;    A pointer To an Array of unsigned integers specifying the tab stops, in dialog
  ;    template units. If the ModeTabulation parameter is 1, this parameter is a pointer To an
  ;    unsigned integer containing the distance between all tab stops, in dialog template
  ;    units.
 
  AddGadgetItem(0, -1, "Texte$")
  CreateMenu(0,WindowID(0))
  MenuTitle("tabulation")
  MenuItem(0,"tab = 5")
  MenuItem(1,"tab = 7")
  MenuItem(2,"tab = 10")
  MenuItem(3,"tab = 20")
  
 
  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case  #PB_Event_Gadget
        Select EventGadget
          Case 0
           
        EndSelect
       
      Case #WM_KEYDOWN
        If EventwParam()=9
          ; Simulation du Tab avec du tag Rich Edit
          SendMessage_(GadgetID(0), #EM_SETTEXTEX, text.settextex, @Texte)
        EndIf
        
      Case #PB_Event_Menu
        Select EventMenu()
          Case 0
            SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#WS_TABSTOP)
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(1))
            
          Case 1    
            SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#WS_TABSTOP)
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(2))

            
          Case 2
            SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#WS_TABSTOP)
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(3))
            
          Case 3
            SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#WS_TABSTOP)
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(4))

            
        EndSelect
        
        
      Case #WM_CLOSE
        Quit=1
       
    EndSelect
  Until Quit=1
EndIf 
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Tab pour un alinéa dans EditorGadget

Message par nico »

J'ai corrigé le code, le problème venait de là:
En effet plusieurs appels de cette fonction modifiait les attributs du Gadget (il ne faut jamais faire comme ça, oui je sais c'est moi qui l'ai posté :mrgreen: )

Code : Tout sélectionner

SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE)-#WS_TABSTOP)
corrigé par ça (mais un seul appel à cette fonction suffit):

Code : Tout sélectionner

SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE) & ~#WS_TABSTOP)
et j'ai aussi rajouté ceci:

Code : Tout sélectionner

InvalidateRect_(...)

Code : Tout sélectionner

text.settextex

#ST_SELECTION=2
text\flags=#ST_SELECTION
text\codepage=#CP_ACP

Texte.s="{\rtf\tab "

Procedure LOWORD(Value)
  ProcedureReturn Value & $FFFF
EndProcedure

Procedure HIWORD(Value)
  ProcedureReturn (Value >> 16) & $FFFF
EndProcedure

Procedure MAKELONG(low, high)
  ProcedureReturn low | (high<<16)
EndProcedure

Procedure.f initTaquetTab()
  Value=GetDialogBaseUnits_()
  baseunitX=LOWORD(Value)
  baseunitY=HIWORD(Value)

  ;The horizontal base unit returned by GetDialogBaseUnits is equal to the average
  ;width, in pixels, of the characters in the system font;
  ;the vertical base unit is equal To the height, in pixels, of the font.

  hdc = GetDC_(GetDesktopWindow_())
  If hdc
    Ecrdpihz.l  = GetDeviceCaps_(hdc, #LOGPIXELSX)
  EndIf
  ;   If hdc
  ;     Ecrdpivt.l = GetDeviceCaps_(hdc, #LOGPIXELSY)
  ;   EndIf
  ReleaseDC_(GetDesktopWindow_(), hdc)    

  ; 1 horizontal Dialog Template Unit = (DPI écran / 96 * baseunitX)/4
  ; 1 vertical Dialog Template Unit = (DPI écran / 96 * baseunitY)/8
  pixelX.f = (Ecrdpihz/96)*baseunitX/4
  ; pixelY.f = (Ecrdpihz/96)*baseunitX/8
  ProcedureReturn pixelX
EndProcedure

facteur.f=initTaquetTab() ; transforme un nombre de caractère en dialog template units

; Si ModeTabulation = 0 alors taquets de tabulation tous les 32 dialog template units
; Si ModeTabulation = 1 alors taquets de tabulation tous les "taquet1" dialog template units
; Si ModeTabulation > 1 alors x taquets de tabulation chacun à la distance "taquets(x)"

;ModeTabulation = 0
;ModeTabulation = 1
ModeTabulation = 5  ; 5 taquets de tabulation


Dim taquets(5)  ; 5 taquets de tabulation en nombre de caractères
taquets(0) = 5*facteur
taquets(1) = 10*facteur
taquets(2) = 15*facteur
taquets(3) = 20*facteur
taquets(4) = 25*facteur

taquet1=17 * facteur   ; 1 taquet de tabulation à 5 caractères

If OpenWindow(0,0,0,320,220,"Simulate Tab",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget (0,10,60,300,140)
  CreateImage(0,300,20)
  StartDrawing(ImageOutput(0))
  Box(0,0,300,20,#White)
  Line(0,10,300,1,0)
  For i=0 To 30
    Line(10*i,0,1,20,0)
  Next i

  StopDrawing()
  ImageGadget(1, 10, 40, 300, 20,ImageID(0))

  ; Un seul appel suffit!
  SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE) & ~#WS_TABSTOP)
  ;SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
  SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(0))
  ;    ModeTabulation
  ;    The number of tab stops contained in the Array. If this parameter is zero,
  ;   @taquet1 parameter is ignored And Default tab stops are set at every 32 dialog
  ;    template units. If this parameter is 1, tab stops are set at every n dialog
  ;    template units, where n is the distance pointed To by the @taquet1 parameter.
  ;    If this parameter is greater than 1, @taquets() is a pointer To an Array of tab stops.
  ;     
  ;    @taquet1 ou @taquets()
  ;    A pointer To an Array of unsigned integers specifying the tab stops, in dialog
  ;    template units. If the ModeTabulation parameter is 1, this parameter is a pointer To an
  ;    unsigned integer containing the distance between all tab stops, in dialog template
  ;    units.

  AddGadgetItem(0, -1, "Texte$")
  CreateMenu(0,WindowID(0))
  MenuTitle("tabulation")
  MenuItem(0,"tab = 5")
  MenuItem(1,"tab = 7")
  MenuItem(2,"tab = 10")
  MenuItem(3,"tab = 20")
  

  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case  #PB_Event_Gadget
        Select EventGadget
          Case 0
           
        EndSelect
       
      Case #WM_KEYDOWN
        If EventwParam()=9
          ; Simulation du Tab avec du tag Rich Edit
          ;SendMessage_(GadgetID(0), #EM_SETTEXTEX, text.settextex, @Texte)
        EndIf
        
      Case #PB_Event_Menu
        Select EventMenu()
          Case 0
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(1))
            InvalidateRect_(GadgetID(0), 0, 1)
            
          Case 1    
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(2))
            InvalidateRect_(GadgetID(0), 0, 1)
            
          Case 2
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(3))
            InvalidateRect_(GadgetID(0), 0, 1)
            
          Case 3
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(4))
            InvalidateRect_(GadgetID(0), 0, 1)
            
        EndSelect
        
        
      Case #WM_CLOSE
        Quit=1
       
    EndSelect
  Until Quit=1
EndIf
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Tab pour un alinéa dans EditorGadget

Message par Mesa »

Excuse moi blendman d'être aussi scolaire, mais je voudrai être sûr qu'il n'y aie pas de confusion entre: la marge, le retrait, le retrait de première ligne, le taquet et la tabulation.

Voici une image d'open office:

Image

Tu me confirmes que tu penses bien au taquets de tabulation ?

Mesa.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Tab pour un alinéa dans EditorGadget

Message par Backup »

Ce qu'il veux c'est pouvoir faire ce que le code Scintilla que j'ai posté, Fait !

lorsqu'il parle de Tabulation , il ne parle pas de "Taquet"
il parle de "l'espace" qui est inséré apres appuis sur la touche TAB
(par defaut cet espace est fixé a 8*chr(32) )

cet espace peut être redimensionné , c'est ce que fait mon code Scintilla
et c'est ce qu'il veux obtenir avec Rich TEXT ...

vous allez pas polémiquer 15 jours la dessus 8O j’hallucine :lol:
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Tab pour un alinéa dans EditorGadget

Message par Mesa »

IL NE PEUT PAS Y AVOIR DE TABULATION SANS TAQUET ! ! !

C'est la dernière fois que je le dis.

Mon p'tit dobro, la dernière fois tu as cru que je te prenais pour un con, mais si tu continues à ne pas lire mes posts et à me parler comme ça, ça va être le cas :twisted:

Ce code marche chez moi.

Code : Tout sélectionner

text.settextex

#ST_SELECTION=2
text\flags=#ST_SELECTION
text\codepage=#CP_ACP

Texte.s="{\rtf\tab "

Procedure LOWORD(Value)
  ProcedureReturn Value & $FFFF
EndProcedure

Procedure HIWORD(Value)
  ProcedureReturn (Value >> 16) & $FFFF
EndProcedure

Procedure MAKELONG(low, high)
  ProcedureReturn low | (high<<16)
EndProcedure

Procedure.f initTaquetTab()
  Value=GetDialogBaseUnits_()
  baseunitX=LOWORD(Value)
  baseunitY=HIWORD(Value)
  
  ;The horizontal base unit returned by GetDialogBaseUnits is equal to the average
  ;width, in pixels, of the characters in the system font;
  ;the vertical base unit is equal To the height, in pixels, of the font.
  
  hdc = GetDC_(GetDesktopWindow_())
  If hdc
    Ecrdpihz.l  = GetDeviceCaps_(hdc, #LOGPIXELSX)
  EndIf
  ;   If hdc
  ;     Ecrdpivt.l = GetDeviceCaps_(hdc, #LOGPIXELSY)
  ;   EndIf
  ReleaseDC_(GetDesktopWindow_(), hdc)    
  
  ; 1 horizontal Dialog Template Unit = (DPI écran / 96 * baseunitX)/4
  ; 1 vertical Dialog Template Unit = (DPI écran / 96 * baseunitY)/8
  pixelX.f = (Ecrdpihz/96)*baseunitX/4
  ; pixelY.f = (Ecrdpihz/96)*baseunitX/8
  ProcedureReturn pixelX
EndProcedure

facteur.f=initTaquetTab() ; transforme un nombre de caractère en dialog template units

; Si ModeTabulation = 0 alors taquets de tabulation tous les 32 dialog template units
; Si ModeTabulation = 1 alors taquets de tabulation tous les "taquet1" dialog template units
; Si ModeTabulation > 1 alors x taquets de tabulation chacun à la distance "taquets(x)"

;ModeTabulation = 0
ModeTabulation = 1
;ModeTabulation = 2  


taquet1=5 * facteur   ; 1 taquet de tabulation à 5 caractères

; Dim taquets(5)  ; 5 taquets de tabulation en nombre de caractères
; taquets(0) = 5*facteur
; taquets(1) = 10*facteur
; taquets(2) = 15*facteur
; taquets(3) = 20*facteur
; taquets(4) = 25*facteur



If OpenWindow(0,0,0,320,220,"Simulate Tab",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget (0,10,60,300,140)
  CreateImage(0,300,20)
  StartDrawing(ImageOutput(0))
  Box(0,0,300,20,#White)
  Line(0,10,300,1,0)
  For i=0 To 30
    Line(10*i,0,1,20,0)
  Next i
  
  StopDrawing()
  ImageGadget(1, 10, 40, 300, 20,ImageID(0))
  
  ; Un seul appel suffit!
  SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE) & ~#WS_TABSTOP)
  SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
  ;SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquets(0))
  ;    ModeTabulation
  ;    The number of tab stops contained in the Array. If this parameter is zero,
  ;   @taquet1 parameter is ignored And Default tab stops are set at every 32 dialog
  ;    template units. If this parameter is 1, tab stops are set at every n dialog
  ;    template units, where n is the distance pointed To by the @taquet1 parameter.
  ;    If this parameter is greater than 1, @taquets() is a pointer To an Array of tab stops.
  ;     
  ;    @taquet1 ou @taquets()
  ;    A pointer To an Array of unsigned integers specifying the tab stops, in dialog
  ;    template units. If the ModeTabulation parameter is 1, this parameter is a pointer To an
  ;    unsigned integer containing the distance between all tab stops, in dialog template
  ;    units.
  
  AddGadgetItem(0, -1, "Texte$")
  CreateMenu(0,WindowID(0))
  MenuTitle("tabulation")
  MenuItem(0,"tab = 5")
  MenuItem(1,"tab = 10")
  MenuItem(2,"tab = 20")
  MenuItem(3,"tab = 30")
  
  
  Repeat
    EventID = WaitWindowEvent()
    Select EventID
      Case  #PB_Event_Gadget
        Select EventGadget
          Case 0
            
        EndSelect
        
      Case #WM_KEYDOWN
        If EventwParam()=9
          ; Simulation du Tab avec du tag Rich Edit
          ;SendMessage_(GadgetID(0), #EM_SETTEXTEX, text.settextex, @Texte)
        EndIf
        
      Case #PB_Event_Menu
        Select EventMenu()
          Case 0
            taquet1=5 * facteur 
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
            InvalidateRect_(GadgetID(0), 0, 1)
            
          Case 1 
            taquet1=10 * facteur
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
            InvalidateRect_(GadgetID(0), 0, 1)
            
          Case 2
            taquet1=20 * facteur
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
            InvalidateRect_(GadgetID(0), 0, 1)
            
          Case 3
            taquet1=30 * facteur
            ; Debug PeekI(@taquet1)
            SendMessage_(GadgetID(0),#EM_SETTABSTOPS,ModeTabulation,@taquet1)
            InvalidateRect_(GadgetID(0), 0, 1)
            
        EndSelect
        
        
      Case #WM_CLOSE
        Quit=1
        
    EndSelect
  Until Quit=1
EndIf
Mesa.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Tab pour un alinéa dans EditorGadget

Message par blendman »

Mesa a écrit :Tu me confirmes que tu penses bien au taquets de tabulation ?
oui, je confirme que c'est bien ça ;)

Tu peux aussi trouver ce que je cherche dans openoffice :
menu format/paragraphe/tabulation : on retrouve la possibilités de créer de nouveaux taquets de tabulation et de choisir celui qu'on veut utiliser (pour le type "gauche", celui qui m'intéresse, soit celui dont on se sert pour placer cet espace avant les paragraphes, dans les livres ^^).

Je vais tester ton code

Dobro : d'ailleurs merci pour l'exemple sur Scintilla, ça pourrait m'être utile pour un autre projet ^^

Nico : merci pour ton code. Je vais regarder ça.

EDIT : vos deux codes fonctionnent nickel, merci beaucoup.
Je pense que vous pouvez les ajouter dans trick & Tips et même postez ça dans le forum anglais (et même dans le message où Freaks parle du richedit et où on trouve pas mal de code utile pour un éditeur de texte RTF ;))

Encore merci à tous :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Tab pour un alinéa dans EditorGadget

Message par Backup »

Mesa a écrit :IL NE PEUT PAS Y AVOIR DE TABULATION SANS TAQUET ! ! !
sur une machine a Ecrire , ou un traitement de Text .. a la limite oui tu as raison !
je dirai plutôt, qu'il n'existe pas de taquet Sans Tabulations !!


mais ici , on parle programmation ....

un éditeur Gadget , est un Espace Vide qui attends du code Ascii !

ton Taquet, n'existe pas ! c'est simplement une représentation , dans les Traitement de text, histoire de visualiser a l'avance l'espace d'une Tabulation !
Représentation d'ailleurs Pompé sur le principe Mécanique des Vielles Machine a ecrire ...

une Tabulation en informatique c'est le code 9 !
ton taquet n'as pas de code ! donc ,informatiquement parlant , il n'existe pas !

parler de Taquet ici , n'as aucun sens !
a la rigueurs, tu t'adresses a une secrétaire, qui utilise Word, ou Writer , je comprendrai ....


en programmation ton Taquet c'est un Sprite , ou bien un Signe Distinctif qui va représenter ta Colonne Tabulée !
rien de plus ...


(on va peut etre arriver a se comprendre un jour ... :mrgreen: )
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Tab pour un alinéa dans EditorGadget

Message par G-Rom »

Mesa a écrit :IL NE PEUT PAS Y AVOIR DE TABULATION SANS TAQUET ! ! !
Et tu peu prendre un taquet sans tabulation... :mrgreen:

==>[]



@Blendman , tu es en mode forage du forum ? j'ai cru un temps que aranoth revenais parmis les vivants du forum ;)
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Tab pour un alinéa dans EditorGadget

Message par blendman »

G-Rom a écrit :@Blendman , tu es en mode forage du forum ? j'ai cru un temps que aranoth revenais parmis les vivants du forum ;)
^^ en fait, j'ai d'abord cherché un sujet qui trait des tabulations dans un gadget editor, et je me suis dit que j'aurai plus de résultats si je postai sur un sujet où certains avaient déjà répondu :mrgreen:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Tab pour un alinéa dans EditorGadget

Message par Kwai chang caine »

G-Rom a écrit :Et tu peu prendre un taquet sans tabulation... :mrgreen:
Moi.... j'suis encore et toujours fan de ton humour :lol: :lol: :lol: :lol:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre