Forum | | | | Thomas Freier | I wanted to gladly a second GridBOX with the first scroll. Horizontal is OK. Vertikal I get simply not there and I here too no Notes (except MultiEdit etc.) found. knows of/ one a Solution? CompileMarkSeparation $H WINDOWS.PH
$H MESSAGES.PH
$H COMMCTRL.PH
Declare Titel$,hGrid&,hGrid1&
Proc GridBox1
Titel$ = "Links;0;180;Mitte;0;100;Rechts;0;80"
hGrid& = Create("GridBox", %hWnd, Titel$, 1, 30, 30, 200, 190)
AddString(hGrid&, "AB|DEF|0123")
AddString(hGrid&, "GHI|J23KL|012345")
AddString(hGrid&, "FGRT|MNOP|PQR|")
AddString(hGrid&, "STU||V")
AddString(hGrid&, "ABCD12|STUVW|XYZ0")
AddString(hGrid&, "ABCD34|stuvw|999,00")
AddString(hGrid&, "Abcd45|STUVW|-111,11")
AddString(hGrid&, "Abcd56|StUVW|2.111,11")
AddString(hGrid&, "Abcd56|AbxVW|-15.234,56")
AddString(hGrid&, "Abcd67|STUVW|0,00")
EndProc
Proc GridBox2
Titel$ = "Links;0;180;Mitte;0;100;Rechts;0;80"
hGrid1& = Create("GridBox", %hWnd, Titel$, 1, 330, 30, 200, 190)
AddString(hGrid1&, "AB|DEF|0123")
AddString(hGrid1&, "GHI|J23KL|012345")
AddString(hGrid1&, "FGRT|MNOP|PQR|")
AddString(hGrid1&, "STU||V")
AddString(hGrid1&, "ABCD12|STUVW|XYZ0")
AddString(hGrid1&, "ABCD34|stuvw|999,00")
AddString(hGrid1&, "Abcd45|STUVW|-111,11")
AddString(hGrid1&, "Abcd56|StUVW|2.111,11")
AddString(hGrid1&, "Abcd56|AbxVW|-15.234,56")
AddString(hGrid1&, "Abcd67|STUVW|0,00")
EndProc
~SetScrollRange(hGrid&,0,0,1000,1)
~SetScrollRange(hGrid&,0,0,1000,0)
declare scroll&,ascroll&
declare scroll1&,ascroll1&
SubClassProc
If SubClassMessage(hGrid&, ~WM_HSCROLL)
locate 0,0
print str$(~GetScrollPos(hGrid&,0))+" "
ascroll& = scroll&
scroll& = ~GetScrollPos(hGrid&,0)
~SetScrollPos(hGrid1&,0,scroll&,1)
sendmessage(hGrid1&,~LVM_SCROLL,scroll&-ascroll&,0)
~UpdateWindow(hGrid1&)
Set("WinProc",1)
ElseIf SubClassMessage(hGrid&, ~WM_VSCROLL)
locate 0,30
print str$(~GetScrollPos(hGrid&,1))+" "
ascroll1& = scroll1&
scroll1& = ~GetScrollPos(hGrid&,1)
~SetScrollPos(hGrid1&,1,scroll1&,1)
sendmessage(hGrid1&,~LVM_SCROLL,(scroll1&-ascroll1&),0)
~UpdateWindow(hGrid1&)
Set("WinProc",1)
EndIf
endproc
SetTrueColor 1
WindowStyle 538
WindowTitle "Scroll nur linke Gridbox"
Window 100,100-600,400
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
GridBox1
GridBox2
Set("SubClassMode",1)
SubClass hGrid&,1
While 1
WaitInput
case %key=2: Break
Wend
../function-references/XProfan/subclass/'>SubClass hGrid&,0
|
| | | Gruß Thomas Windows XP SP2, XProfan X2 | 08/16/09 ▲ |
| |
| | | If I your Sourcecode starte, then scrolls The rights GridBOX with the left with.
What exactly should because occur? |
| | | | |
| | Thomas Freier | Yes, so was virtual, that the visible Content the rechten Box the the left gleicht, if The left gescrollt becomes. Z.Z. goes But only horizontal. have me too again Franks List view undertaken, in the now a function include is, The The first angezeige Lines-Nr determined. will be it parallel above try. |
| | | Gruß Thomas Windows XP SP2, XProfan X2 | 08/16/09 ▲ |
| |
| | | functions with you these very Analog Solution? CompileMarkSeparation {$i}
$H WINDOWS.PH
$H MESSAGES.PH
$H COMMCTRL.PH
Declare Titel$,hGrid&,hGrid1&
Proc GridBox1
Titel$ = "Links;0;180;Mitte;0;100;Rechts;0;80"
hGrid& = Create("GridBox", %hWnd, Titel$, 1, 30, 30, 200, 190)
AddString(hGrid&, "AB|DEF|0123")
AddString(hGrid&, "GHI|J23KL|012345")
AddString(hGrid&, "FGRT|MNOP|PQR|")
AddString(hGrid&, "STU||V")
AddString(hGrid&, "ABCD12|STUVW|XYZ0")
AddString(hGrid&, "ABCD34|stuvw|999,00")
AddString(hGrid&, "Abcd45|STUVW|-111,11")
AddString(hGrid&, "Abcd56|StUVW|2.111,11")
EndProc
Proc GridBox2
Titel$ = "Links;0;180;Mitte;0;100;Rechts;0;80"
hGrid1& = Create("GridBox", %hWnd, Titel$, 1, 240, 30, 200, 190)
AddString(hgrid1&, "AB|DEF|0123")
AddString(hgrid1&, "GHI|J23KL|012345")
AddString(hgrid1&, "FGRT|MNOP|PQR|")
AddString(hgrid1&, "STU||V")
AddString(hgrid1&, "ABCD12|STUVW|XYZ0")
AddString(hgrid1&, "ABCD34|stuvw|999,00")
AddString(hgrid1&, "Abcd45|STUVW|-111,11")
AddString(hgrid1&, "Abcd56|StUVW|2.111,11")
EndProc
SubClassProc
if subClassMessage(hGrid&,~wm_paint)
sendMessage(hGrid1&,~lvm_scroll,~getScrollPos(hGrid&,0)-~getScrollPos(hGrid1&,0),(~getScrollPos(hGrid&,1)-~getScrollPos(hGrid1&,1))*hiword(sendMessage(hGrid1&,~lvm_getItemSpacing,1,0)))
endif
endproc
SetTrueColor 1
WindowStyle 538
WindowTitle "Scroll nur linke Gridbox"
Window 100,100-600,400
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
GridBox1
GridBox2
SubClass hGrid&,1
While 1
WaitInput
case %key=2: Break
Wend
SubClass hGrid&,0
|
| | | | |
| | Thomas Freier | JA!! thanks for elegant Solution, there generally validly. Uff! for me must I now try from the Einzeiler for H&V whom H- and V-part To separieren, since the both lists horizontal each for itself and only Mouse and Sprite together gescrollt go should. |
| | | Gruß Thomas Windows XP SP2, XProfan X2 | 08/17/09 ▲ |
| |
| | | simply whom 3. Param of SendMessage on 0 settle, wParam with lvm_scroll is for X-axis there: CompileMarkSeparation |
| | | | |
| | Thomas Freier | A small example for XProfan 11.2 with the "Scrollaktionen". with the Scrolling the Bildes (months) überm List view be I not yet pleased. The pressure is z.Z. not optimiert. How always : Use on own risk. |
| | | Gruß Thomas Windows XP SP2, XProfan X2 | 08/29/09 ▲ |
| |
| | | in the SubClassProc have "mein" wm_paint ausgetauscht, therefore but reacted the update always first (1 Frame/Message) To late. (it remaining only wm_paint) |
| | | | |
| | Thomas Freier | Have Yes both as example in the code let. eachone Click in a the both Listviews resolve one wm_paint from. this is at edit irritating. unfortunately scroll both lists with the Mausrad now only, if no list whom Focus has. |
| | | Gruß Thomas Windows XP SP2, XProfan X2 | 08/30/09 ▲ |
| |
|
AnswerThemeninformationenthis Topic has 2 subscriber: |