AmiBlitz³
NTUI: Textbox - Druckversion

+- AmiBlitz³ (https://www.amiblitz.de/community)
+-- Forum: AmiBlitz³ (https://www.amiblitz.de/community/forum-3.html)
+--- Forum: NTUI (https://www.amiblitz.de/community/forum-17.html)
+--- Thema: NTUI: Textbox (/thread-110.html)



NTUI: Textbox - Blackbird - 20.11.2014

Wieder ein kleines Example für die Textbox...

Auch hier verblüfft mich die Tatsache das die Fehler die ich dir berichtet habe nicht vorhanden sind.

Der Cursor passt, das löschen passt rückwärts wie vorwärts, das positionieren des Cursors ebenso...

Es ist alles wie es sein soll.

Auch hier wieder die frage was dann schief laufen kann bei meinen eigenen und bei deinem Programm.

so langsam habe ich den Verdacht das es an den Callbackhooks liegen kann, oder am Highlighten.


Re: NTUI: Textbox - Blackbird - 21.11.2014

Ich habe nun im NtuiCreator das Highlighten mal ausgeschaltet, und siehe da wie vermutet passen dann nun die Cursorpositionen beim löschen usw...

Da scheint dann was bei der Berechnung der Breite des Fonts nicht zu passen. Da beim Highlighten die Schrift "dicker" wird aber das nicht berücksichtigt wird, stimmen dann auch die positionen nicht mehr.
Das erkennt man ganz deutlich wenn man den Cursor auf Block umstellt.

Korrigier mich wenn ich falsch liege........


Re: NTUI: Textbox - Der Wanderer - 21.11.2014

Eigentlich habe ich drauf geachtet, aber da OS3.x identische breite hat, egal, ob bold oder nicht bold, fällt das nicht auf. Muss ich simulieren und dann testen.
Guter Fang!


Re: NTUI: Textbox - Blackbird - 22.11.2014

Der Wanderer schrieb:Eigentlich habe ich drauf geachtet, aber da OS3.x identische breite hat, egal, ob bold oder nicht bold, fällt das nicht auf. Muss ich simulieren und dann testen.

Kann sein das MorphOs und OS4 das nicht hinbekommen, evtl. liegts am verwendeten Befehl

Zitat:Guter Fang!

Jo, was ein guter Sportfischer ist Big Grin


Re: NTUI: Textbox - Blackbird - 22.11.2014

Nächste Frage Wink

Ich habe keinen Befehl gefunden um in bestehen Text neuen einzufügen ohne ihn eintippen zu müßen...
Befehle mit Underscore darf man ja nicht nehmen... Cry

Wie ist das dann gedacht. LoadTextBox läd ja einen kompletten Text


Re: NTUI: Textbox - Blackbird - 22.11.2014

Also alle wegschauen bevor mir der Wanderer nun wieder den Kopf abreisst und damit Fussball spielt :o

das hier ist pöse pöse und zur Nachahmung wird nicht geraten, Eltern verhaften ihre Kinder...!

Code:
*TextBox.tuiTextBox = (.tuiTextBox)ntui_GetObjectByID{*engine,"SourceBox"} ; Textboxadresse holen
  If *TextBox
    Textlaenge.l = Len (Objekt) ; Laenge des Strings ermitteln
    ntui_GetAttrByID{*engine,"SourceBox",#TUITBA_CURSORLINE,&CursorLine.l} ; Cursorline finden
    ntui_GetAttrByID{*engine,"SourceBox",#TUITBA_CURSORCHAR,&CursorChar.l} ; Cursorchar finden
    _tb_InsertInLine{*TextBox,CursorLine,CursorChar,&Objekt,Textlaenge} ; text an Cursorposition einfuegen
    ntui_SetFocus{*TextBox} ; Fokus auf textbox setzen
  Else
    message{"Konnte TextBoxadresse nicht ermitteln"}
  EndIf

funktioniert soweit

Ps:Objekt kommt mit dem Statement


Re: NTUI: Textbox - Der Wanderer - 23.11.2014

[ab3]*TextBox.tuiTextBox = (.tuiTextBox)ntui_GetObjectByID{*engine,"SourceBox"} ; Textboxadresse holen
If *TextBox
ntui_GetAttrByID{*engine,"SourceBox",#TUITBA_CURSORLINE,&CursorLine.l} ; Cursorline finden
ntui_GetAttrByID{*engine,"SourceBox",#TUITBA_CURSORCHAR,&CursorChar.l} ; Cursorchar finden
ntui_SetTextBoxSelection{*TextBox, Null, CursorLine, CursorChar, CursorLine, CursorChar}
ntui_ReplaceTextBoxSelection{*TextBox, Objekt, Flen(Object)}
ntui_SetFocus{*TextBox} ; Fokus auf textbox setzen
Else
message{"Konnte TextBoxadresse nicht ermitteln"}
EndIf[/ab3]

Die API ist aber nicht nicht ganz ausgereift.


Re: NTUI: Textbox - Blackbird - 23.11.2014

Auf die beiden Befehle wäre ich nun nicht gekommen, sie sugerieren mir etwas völlig anderes per Namensgebung...
Ich hätte darauf getippt das etwas Slektiert ist und das dann gesetzt bzw geändert wird...


Re: NTUI: Textbox - Der Wanderer - 24.11.2014

hm, du hast doch genau geschrieben was es macht. Etwas selectieren und dann ersetzen. "Insert" ist lediglich ein Spezialfall davon.
Ich kann aber auch ein Insert als Shortcut als API zur Verfügung stellen.


Re: NTUI: Textbox - Blackbird - 13.12.2014

Ja mach mal ein Insert, sicher ist sicher...

Wie ist das bei dazugeladenen Fragmenten, funktioniert das dann genauso ?