| |
|
|
- Página 1 - |
|
RudiB. | ¡Hola zusammen,
habe veces otra vez algo... beim scrollen encima el Control VSroll bleiben muy oft el Zeilen no "im Raster". Keine Idea Yo lo sonst ausdrücken se.
Kann al irgendwie fixen, el el Zeilen "im Raster bleiben" y no sólo el Hälfte adecuado se (oberste Línea !!) |
|
|
| |
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
Georg Teles | Bueno Morgen,
bin seit una Jahr fuera de el Programación. Posesiones zwecks Style nichts passendes gefunden, sólo Workarounds welche el "Justierung el Zeile" nachträglich vornehmen ... como Denkanstoß hier una kleines Ejemplo, umständlich, es aber vllt nützlich: (en Editar y Control sólo hineinklicken, entonces dessen VScroll betätigen porque Foco/Child, kann sodann con ProcAddr ser mejorada)
Cls
var texto$ = GenTxt()
Declarar pre_pos&
Proc GenTxt
Declarar tx$
tx$ = ""
WhileLoop 0,200
tx$ = tx$+"Text_"+Str$(&bucle)+"\n"
EndWhile
tx$ = tx$+"ENDE"
Volver tx$
ENDPROC
locate 0,0
imprimir "RichEdit"
locate 0,27
imprimir "Edit (Control)"
locate 0,54
imprimir "VScroll"
var red& = Crear("richedit", %hWnd, texto$, 5, 25, 200, 200)
var red2& = Control("Edit", "", $50200044, 205, 25, 200, 200, %hWnd, 0, %hInstance)
var vsc& = Crear("VScroll",%hWnd,"",422,25,20,200)
'ACHTUNG Dimension el VScroll beachten ! al Besten después de 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&,Texto$
SetText red2&,Texto$
Mientras que 1=1
Waitinput
'Falls Foco en 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
imprimir "GoTO Line "+Str$(pre_pos&)+Espacio$(3)
EndIf
'Falls Foco en 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
imprimir "GoTO Line "+Str$(pre_pos&)+Espacio$(3)
EndIf
'Falls Foco en 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
imprimir "GoTO Line "+Str$(pre_pos&)+Espacio$(3)
EndIf
endwhile
Grüße |
|
|
| |
|
|
|
|
RudiB. | todavía una kleiner Apéndice... el es sólo en una Richedit así, en el Multiedit funktioniert el scrollen wirklich Zeilenweise. Yo brauche el aber auch en el Richedit así... |
|
|
| |
|
|
|
Georg Teles | Bueno Morgen,
bin seit una Jahr fuera de el Programación. Posesiones zwecks Style nichts passendes gefunden, sólo Workarounds welche el "Justierung el Zeile" nachträglich vornehmen ... como Denkanstoß hier una kleines Ejemplo, umständlich, es aber vllt nützlich: (en Editar y Control sólo hineinklicken, entonces dessen VScroll betätigen porque Foco/Child, kann sodann con ProcAddr ser mejorada)
Cls
var texto$ = GenTxt()
Declarar pre_pos&
Proc GenTxt
Declarar tx$
tx$ = ""
WhileLoop 0,200
tx$ = tx$+"Text_"+Str$(&bucle)+"\n"
EndWhile
tx$ = tx$+"ENDE"
Volver tx$
ENDPROC
locate 0,0
imprimir "RichEdit"
locate 0,27
imprimir "Edit (Control)"
locate 0,54
imprimir "VScroll"
var red& = Crear("richedit", %hWnd, texto$, 5, 25, 200, 200)
var red2& = Control("Edit", "", $50200044, 205, 25, 200, 200, %hWnd, 0, %hInstance)
var vsc& = Crear("VScroll",%hWnd,"",422,25,20,200)
'ACHTUNG Dimension el VScroll beachten ! al Besten después de 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&,Texto$
SetText red2&,Texto$
Mientras que 1=1
Waitinput
'Falls Foco en 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
imprimir "GoTO Line "+Str$(pre_pos&)+Espacio$(3)
EndIf
'Falls Foco en 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
imprimir "GoTO Line "+Str$(pre_pos&)+Espacio$(3)
EndIf
'Falls Foco en 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
imprimir "GoTO Line "+Str$(pre_pos&)+Espacio$(3)
EndIf
endwhile
Grüße |
|
|
| |
|
|
|
RudiB. | ¡Hola Georg,
... danke, el es, glaube Yo el Solución. Muss Yo en Ruhe ausprobieren. Aber en el ersten Blick genau el richtige, Yo gesucht habe. Yo probiere el heute Abend veces para media Fall de y dar entonces Feedback.
Saludo Rudi |
|
|
| |
|
|
|
RudiB. | ...ya ausprobiert.... TREFFER....
Gracias Georg, el wars...
Saludo de München Rudi |
|
|
| |
|
|
|
Georg Teles | Bueno Abend, na wunderbar
Grüße |
|
|
| |
|
|