Italia
Eingangshalle

Fehler beim Scrollen...

 
- Page 1 -



RudiB.
Hallo zusammen,

habe mal wieder etwas...
beim scrollen circa das Control VSroll bleiben sehr oft die Zeilen nicht "im Raster".
Keine Ahnung wie ich es sonst ausdrücken soll.



Kann man das irgendwie fixen, das die Zeilen "im Raster bleiben" und nicht nur die Metà angezeigt wird (oberste Zeile !!)

23 kB
Hochgeladen:17.09.2022
Downloadcounter61
Download
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
17.09.2022  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Georg
Teles
Guten Morgen,

bin seit einem Jahr raus aus der Programmazione. Habe zwecks Style nichts passendes gefunden, nur Workarounds welche die "Justierung der Zeile" nachträglich vornehmen ... als Denkanstoß hier ein kleines Beispiel, umständlich, ist aber vllt nützlich: (bei Edit und Control erst hineinklicken, dann dessen VScroll betätigen weil Focus/Child, kann sodann mit ProcAddr verbessert werden)
Cls
var text$ = GenTxt()
Declare pre_pos&

Proc GenTxt

    Declare tx$
    tx$ = ""

    WhileLoop 0,200

        tx$ = tx$+"Text_"+Str$(&loop)+"\n"

    EndWhile

    tx$ = tx$+"ENDE"
    Return tx$

EndProc

locate 0,0
print "RichEdit"
locate 0,27
print "Edit (Control)"
locate 0,54
print "VScroll"
var red& = Create("richedit", %hWnd, text$, 5, 25, 200, 200)
var red2& = Control("Edit", "", $50200044, 205, 25, 200, 200, %hWnd, 0, %hInstance)
var vsc& = Create("VScroll",%hWnd,"",422,25,20,200)
'ACHTUNG Dimension der VScroll beachten ! am Besten nach Zeilen minus Sichtbare Zeilen
'SetScrollRange vsc&,0,190
'$00BA 'em_GetLineCount - Sichtbare Zeilen (hier 11)
SetScrollRange vsc&,0,SendMessage(red&,$00BA,0,0)-11
SetText red&,Text$
SetText red2&,Text$

While 1=1

    Waitinput
    'Falls Focus auf VScroll

    If GetFocus(vsc&)

        SendMessage(red&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        SendMessage(red2&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        pre_pos& = GetScrollPos(vsc&)
        locate 3,57
        print "GoTO Line "+Str$(pre_pos&)+Space$(3)

    EndIf

    'Falls Focus auf RichEdit

    If GetFocus(red&)

        SendMessage(red&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        SendMessage(red2&,$00B6,0,SendMessage(red&,$00CE,0,0)-pre_pos&)
        pre_pos& = SendMessage(red&,$00CE,0,0)
        SetScrollPos vsc&, pre_pos&
        locate 3,57
        print "GoTO Line "+Str$(pre_pos&)+Space$(3)

    EndIf

    'Falls Focus auf ControlEDIT

    If GetFocus(red2&)

        SendMessage(red2&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        SendMessage(red&,$00B6,0,SendMessage(red2&,$00CE,0,0)-pre_pos&)
        pre_pos& = SendMessage(red2&,$00CE,0,0)
        SetScrollPos vsc&, pre_pos&
        locate 3,57
        print "GoTO Line "+Str$(pre_pos&)+Space$(3)

    EndIf

endwhile


Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

01.10.2022  
 




RudiB.
noch ein kleiner Nachtrag...
das ist nur bei einem Richedit so, im Multiedit funktioniert das scrollen wirklich Zeilenweise.
Ich brauche das aber auch im Richedit so...
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
18.09.2022  
 




Georg
Teles
Guten Morgen,

bin seit einem Jahr raus aus der Programmazione. Habe zwecks Style nichts passendes gefunden, nur Workarounds welche die "Justierung der Zeile" nachträglich vornehmen ... als Denkanstoß hier ein kleines Beispiel, umständlich, ist aber vllt nützlich: (bei Edit und Control erst hineinklicken, dann dessen VScroll betätigen weil Focus/Child, kann sodann mit ProcAddr verbessert werden)
Cls
var text$ = GenTxt()
Declare pre_pos&

Proc GenTxt

    Declare tx$
    tx$ = ""

    WhileLoop 0,200

        tx$ = tx$+"Text_"+Str$(&loop)+"\n"

    EndWhile

    tx$ = tx$+"ENDE"
    Return tx$

EndProc

locate 0,0
print "RichEdit"
locate 0,27
print "Edit (Control)"
locate 0,54
print "VScroll"
var red& = Create("richedit", %hWnd, text$, 5, 25, 200, 200)
var red2& = Control("Edit", "", $50200044, 205, 25, 200, 200, %hWnd, 0, %hInstance)
var vsc& = Create("VScroll",%hWnd,"",422,25,20,200)
'ACHTUNG Dimension der VScroll beachten ! am Besten nach Zeilen minus Sichtbare Zeilen
'SetScrollRange vsc&,0,190
'$00BA 'em_GetLineCount - Sichtbare Zeilen (hier 11)
SetScrollRange vsc&,0,SendMessage(red&,$00BA,0,0)-11
SetText red&,Text$
SetText red2&,Text$

While 1=1

    Waitinput
    'Falls Focus auf VScroll

    If GetFocus(vsc&)

        SendMessage(red&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        SendMessage(red2&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        pre_pos& = GetScrollPos(vsc&)
        locate 3,57
        print "GoTO Line "+Str$(pre_pos&)+Space$(3)

    EndIf

    'Falls Focus auf RichEdit

    If GetFocus(red&)

        SendMessage(red&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        SendMessage(red2&,$00B6,0,SendMessage(red&,$00CE,0,0)-pre_pos&)
        pre_pos& = SendMessage(red&,$00CE,0,0)
        SetScrollPos vsc&, pre_pos&
        locate 3,57
        print "GoTO Line "+Str$(pre_pos&)+Space$(3)

    EndIf

    'Falls Focus auf ControlEDIT

    If GetFocus(red2&)

        SendMessage(red2&,$00B6,0,GetScrollPos(vsc&)-pre_pos&)
        SendMessage(red&,$00B6,0,SendMessage(red2&,$00CE,0,0)-pre_pos&)
        pre_pos& = SendMessage(red2&,$00CE,0,0)
        SetScrollPos vsc&, pre_pos&
        locate 3,57
        print "GoTO Line "+Str$(pre_pos&)+Space$(3)

    EndIf

endwhile


Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

01.10.2022  
 




RudiB.
Hallo Georg,

... danke, das ist, glaube ich die Lösung. Muss ich in Ruhe ausprobieren.
Aber auf den ersten Blick genau das richtige, was ich gesucht habe.
Ich probiere das heute Abend mal per meinen Fall aus und gebe dann Feedback.

Saluto Rudi
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
01.10.2022  
 




RudiB.
...schon ausprobiert.... TREFFER....

Danke Georg, das wars...

Saluto aus München
Rudi
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
01.10.2022  
 




Georg
Teles
Guten Abend, na wunderbar

Grüße
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

01.10.2022  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.592 Views

Untitledvor 0 min.
Manfred Barei vor 11 Tagen
Uwe ''Pascal'' Niemeier31.12.2022
Paul Glatz30.10.2022
Wilfried Friebe29.10.2022
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

RudiB. (4x)
Georg Teles (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Eingangshalle  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie