Tabs im Editorgadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
Serge
Beiträge: 66
Registriert: 20.09.2004 20:44
Kontaktdaten:

Tabs im Editorgadget

Beitrag von Serge »

Ist es möglich ein Editor Gadget so einzustellen dass da Tabs funktionieren und nicht statdessen der Focus auf das nächste Gadget überspringt?
Und noch was eher unwichtiges, kann man das Scrollbar per Mausrad scrollen lassen?
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Also, ich wüsste jetzt nur

Code: Alles auswählen

if event=#wm_keydown
        select eventwparam()
             case #vk_tab
                     if getfocus_()=gadgetid(#editorgadget)
                                    buffer.s=space(20000)                                    sendmessage(gadgetid(#editorgadget),#em_getseltext,0,buffer)
text=space(10)+buffer
          sendmessage(gadgetid(#editorgadget),#em_replacesel,1,text)
         endif
endselect
endif
Ist jetzt ungetestet, sollte so in etwa funzen
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Vielleicht den TAB-Style der anderen Fenster entfernen. Geht mit folgender Prozedure:

Code: Alles auswählen

Procedure HideTabJump(Gadget.l, Flag.l)
  If Flag
    ProcedureReturn SetWindowLong_(GadgetID(Gadget),#GWL_STYLE, GetWindowLong_(GadgetID(Gadget), #GWL_STYLE) & (~#WS_TABSTOP))
  Else
    ProcedureReturn SetWindowLong_(GadgetID(Gadget),#GWL_STYLE, GetWindowLong_(GadgetID(Gadget), #GWL_STYLE) | #WS_TABSTOP)
  EndIf
EndProcedure
Kannste TAB setzen und entfernen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Serge
Beiträge: 66
Registriert: 20.09.2004 20:44
Kontaktdaten:

Beitrag von Serge »

Yoa damit funktioniert das rüberspringen zum nächsten Gadget nicht mehr, aber leerer Platz wird leider dennoch nicht erzeugt :|
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Ist Tab nicht ein Zeichen wie auch Zeilenumbruch u.s.w.?
Du müsstest doch dann einfach bei jedem Tab ein Tab-Zeichen in das Editor-Gadget setzen. Oder halt 2 - unendlich Leerzeichen.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
gonimaus
Beiträge: 27
Registriert: 26.09.2004 14:21
Wohnort: Günzburg

Beitrag von gonimaus »

Versuchs mal mit diesem Beispiel
http://www.purearea.net/pb/CodeArchiv/G ... Editing.pb . Lass Dich dabei nicht von den vielen Konstanten beeindrucken.

Mit RemoveKeyboardShortcut(#WINDOW_MAIN, #PB_Shortcut_Tab) klappt es bei mir.

Gruß Gonimaus
Antworten