English
Forum

Done: Scroll-Statik

 
- Page 1 -



Thomas
Freier
somehow come I do not moreover. One Blattformat should umschaltbar his (high/athwart). is the leaf linksbündig, go at change the RTF-Edit and the Header (3x Edit) on the vorgesehenen place displayed. is the leaf athwart and rechtsbündig becomes only the RTF-Edit How vorgesehen displayed and the Header remaining where she was.
sees of you of/ one my Error or has a others suggestion?

22 kB
Hochgeladen:06/19/09
Downloadcounter57
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
06/19/09  
 



 
- Page 1 -


wants Yes only say, ifs The people not simply testing can, ists with the Hilfestellung not so simply.
 
06/21/09  
 




Thomas
Freier
my attachment is in the rule tested. but ifs whom on it failure ought to, here moreover bereinigt:
CompileMarkSeparation
 $H Windows.ph
 $H messages.ph
 $H RichEdit.ph
 $U dlgmenu.pcu = menu.
var RtfDll&=usedll("RichEd20.dll")
def SetWndSize(3) ~SetWindowPos(&(1),0,0,0,%(2),%(3),~SWP_NOMOVE | ~SWP_NOZORDER)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SubClassProc

    L.x&=~GetKeyState(1) & $8000

    If L.x&

        If ( SubClassMessage(area&, ~WM_VSCROLL) and (&sLParam=0) )

            ~GetWindowRect(area&,rect#)
            maxy&=Long(rect#,12)-Long(rect#,4)+1
            L.x&=&sWParam & $0000ffff
            L.a&=1

            If L.x&=~SB_LINEDOWN

                isy&=8

            ElseIf L.x&=~SB_PAGEDOWN

                isy&=maxy&

            ElseIf L.x&=~SB_LINEUP

                isy&=-8

            ElseIf L.x&=~SB_PAGEUP

                isy&=-maxy&

            ElseIf L.x&=~SB_THUMBTRACK

                so!=yy!
                yy!=&sWParam >> 16
                isy&=-(so!-yy!)
                L.a&=0

            EndIf

            If L.a&

                yy!=yy!+isy&

                If yy!<0

                    isy&=(isy&+(0-yy!))
                    yy!=0

                EndIf

                If yy!>(virty&-maxy&)

                    isy&=isy&-(yy!-(virty&-maxy&))
                    yy!=virty&-maxy&

                EndIf

            Endif

            Long vs#,0=28
            Long vs#,4=~SIF_ALL
            Long vs#,12=virty&
            Long vs#,16=maxy&
            Long vs#,20=yy!
            ~SetScrollInfo(area&,~SB_VERT,vs#,1)
            ~ScrollWindow(area&,0,-isy&,0,0)
            ~UpdateWindow(area&)

        ElseIf (SubClassMessage(area&, ~WM_HSCROLL) and (&sLParam=0))

            ~GetWindowRect(area&,rect#)
            maxx&=Long(rect#,8)-Long(rect#,0)+1
            L.x&=&sWParam & $0000ffff
            L.a&=1

            If L.x&=~SB_LINERIGHT

                isx&=8

            ElseIf L.x&=~SB_PAGERIGHT

                isx&=maxx&

            ElseIf L.x&=~SB_LINELEFT

                isx&=-8

            ElseIf L.x&=~SB_PAGELEFT

                isx&=-maxx&

            ElseIf L.x&=~SB_THUMBTRACK

                so!=xx!
                xx!=&sWParam >> 16
                isx&=-(so!-xx!)
                L.a&=0

            EndIf

            If L.a&

                xx!=xx!+isx&

                If xx!<0

                    isx&=(isx&+(0-xx!))
                    xx!=0

                EndIf

                If xx!>(virtx&-maxx&)

                    isx&=isx&-(xx!-(virtx&-maxx&))
                    xx!=virtx&-maxx&

                EndIf

            Endif

            Long vs#,0=28
            Long vs#,4=~SIF_ALL
            Long vs#,12=virtx&
            Long vs#,16=maxx&
            Long vs#,20=xx!
            ~SetScrollInfo(area&,~SB_HORZ,vs#,1)
            ~ScrollWindow(area&,-isx&,0,0,0)
            ~UpdateWindow(area&)

        EndIf

    EndIf

    Case %sMessage=~WM_COMMAND: SendMessage(%hwnd,%sMessage,&sWParam,&sLParam)
    Case (SubClassMessage(area&, ~WM_HSCROLL) and (&sLParam<>0)): SendMessage(%hwnd,%sMessage,&sWParam,&sLParam)
    Case (SubClassMessage(area&, ~WM_VSCROLL) and (&sLParam<>0)): SendMessage(%hwnd,%sMessage,&sWParam,&sLParam)

EndProc

Proc Blatt_Daten

    Seite
    Layout$=SubStr$(L_Blatt$,1,"|") .....................Blattausrichtung
    Liste
    L_LVfont&=Create("Font",substr$(L_Liste$,1,"|"),Round(val(substr$(L_Liste$,2,"|"))*1.7,0),0,0,0,0)
    L_LVx% = abs(val(SubStr$(L_Liste$,3,"|"))*4.7)  ................Randabstand links
    L_LVx1% = abs(val(SubStr$(L_Liste$,4,"|"))*4.7)  ...............Randabstand rechts
    L_LVy% = abs(val(SubStr$(L_Liste$,5,"|"))*4.7)  ................Randabstand oben

EndProc

Proc Blatt_Format

    IF Layout$="hoch"

        S_B! = (11906/12.2) - S_X!
        S_H! = (16838/12.2) - S_Y!
        MENU.CHECKMENU MENU&,2004,1
        MENU.CHECKMENU MENU&,2005,0

    Else

        S_H! = (11906/12.2)
        S_B! = (16838/12.2)
        MENU.CHECKMENU MENU&,2004,0
        MENU.CHECKMENU MENU&,2005,1

    EndIf

    virtx&= S_B!+ 20900
    virty&= 500S_H!+ 30

Endproc

Proc Blatt_Basis

    ~GetWindowRect(area&,rect#)
    maxy&=Long(rect#,12)-Long(rect#,4)+1
    Long vs#,0=28
    Long vs#,4=~SIF_ALL
    Long vs#,12=virty&
    Long vs#,16=maxy&
    Long vs#,20=yy!
    ~SetScrollInfo(area&,~SB_VERT,vs#,1)
    maxx&=Long(rect#,8)-Long(rect#,0)+1
    Long vs#,0=28
    Long vs#,4=~SIF_ALL
    Long vs#,12=virtx&
    Long vs#,16=maxx&
    Long vs#,20=xx!
    ~SetScrollInfo(area&,~SB_HORZ,vs#,1)

EndProc

Proc Blatt_RTF

    ~SetWindowLong(Edit&,~GWL_EXSTYLE,0)
    SetWndSize(Hdlg&,(S_B!-10,83466),((L_LVy%-70),83466))
    SetWndSize(Edit&,((S_B!-10),83466),((L_LVy%-70),83466))
    enablewindow Hdlg&,1

EndProc

Proc Blatt_KF  Kopfzeile

    SetWindowPos EditKL&=(L_LVx%),(L_LVy%-32) - 120,22;0
    SetWindowPos EditKM&=((L_LVx%+122)),(L_LVy%-32) - (S_B!-L_LVx%-L_LVx1%-260),22;0
    SetWindowPos EditKR&=((S_B!-L_LVx%-L_LVx1%-40)),(L_LVy%-32) - 124,22;0
    SetFont EditKL&,L_LVfont&
    SetFont EditKR&,L_LVfont&
    SetFont EditKM&,L_LVfont&

EndProc

Proc Blatt_Status

    SetText Sz&, 1, "Format: A4-"+ Layout$
    SetText Sz&, 2, "Rand links: "+SubStr$(L_Liste$,3,"|")+"mm"
    SetText Sz&, 3, "Rand rechts: "+SubStr$(L_Liste$,4,"|")+"mm"

EndProc

########################################################################################

Proc Mitg_Print

    Declare B_dlg&, menu&
    B_dlg& = @Create("Dialog",%hwnd,"  Listen-Report " ,10,10,1008,720)
    menu&=menu.new(B_dlg&)
    menu.setNiceBackground
    menu.popup "Datei        "
    menu.appendmenu 2001,"Neu"
    menu.appendmenu 2003,"Öffnen"
    menu.appendmenu 2009,"Speichern"
    menu.separator
    menu.appendmenu 3110,"Beenden"
    menu.popup "Blattformat  "
    menu.appendmenu 2004,"Hochformat"
    menu.appendmenu 2005,"Querformat"
    Statusbar
    Declare L#,Sz&
    Dim L#, 24
    Long L#,0 = 260, 400, 540, 700 , 900,-1
    Sz& = @Create("StatusWindow",B_Dlg&,"",6,L#)
    SetText Sz&, 0, "Datei: neu"
    SetText Sz&, 1, "Format:"
    SetText Sz&, 2, "Rand links: "
    SetText Sz&, 3, "Rand rechts: "
    SetText Sz&, 4, ""
    SetText Sz&, 5, Date$(0)
    SetFont Sz&,L_font&
    RTF-Blatt
    declare hoehe%,font$,kursiv%,underline%,fat%
    Declare Edit&,Hdlg&,File$,S_B!,S_H!
    Declare L.a&,L.x&,area&, klasse$
    Declare isx&,isy&,xx!,yy!,maxx&,maxy&,rect#,vs#
    Declare virtx&,virty&,so!
    Dim rect#,16
    Dim vs#,512
    Declare L_Blatt$
    Declare Layout$
    leere A4 hoch erzeugen, Daten sonst aus nn.RTF
    L_Blatt$="hoch|"
    .......Ausrichtung,Rand oben
    Declare L_Liste$, L_LVfont&, L_LVx%, L_LVx1%, L_LVy%, L_LVn&, L_LVkopf$
    L_Liste$ = "Arial|12|20|10|40"
    .....Listenfont,Fonthöhe, Abstand links,Abstand rechts,Abstand oben
    Blatt_Daten ................... Daten
    Blatt_Format....................hoch/quer
    Blatt_Status....................Statuszeile
    klasse$="#32770"
    text$=""
    area&=~CreateWindowEx($20000,addr(klasse$),addr(text$),$50300000,4 ,10 ,994 ,610 ,B_dlg&,0,%hinstance,0)
    Blatt_Basis
    SubClass area&, 1
    Lineal
    Bmp1& = CREATE("hSizedPic", -1, "Rul2.bmp",1500,25,0)
    Create("Bitmap", area&, Bmp1&, 0, 0)
    StartPaint Bmp1&
    UsePen 1,1,@RGB(0,0,0)
    var x!=0
    var y!= 4.60

    whileloop 0,60

        SELECT &Loop

            CASEOF 0, 2, 4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60

            Line x!,5-x!,24
            OTHERWISE
            Line x!,10-x!,24

        ENDSELECT

        x!=x!+(y!*5)

    wend

    UseFont "Arial",14,0,0,0,0
    TextColor @RGB(0,0,255),-1
    x!=0
    x%=0

    whileloop 30

        DrawText (x!+3),1,str$(x%)
        x!=x!+(y!*10)
        x%=x%+1

    wend

    EndPaint Bmp1&
    ~RedrawWindow(area&, 0, 0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
    RTF erzeugen
    set("fastmode",1)--Für @ProcAddr (Subclassing)
    Hdlg&=control("Dialog","Hauptdialog",$58000000,1,30,0,0,area&,5000,0)
    Edit&=control("RichEdit20A","",$500050c4,0,0,0,0,Hdlg&,5000,0)
    Blatt_RTF
    Kopf- unf Fußzeile
    var  EditKL&=control("Edit","",$500050c4,0,0,0,0,area&,5000,0)
    ~SetWindowLong(EditKL&,~GWL_EXSTYLE,0)
    SetText  EditKL&,Date$(0)
    var  EditKR&=control("Edit","",$500050c4,0,0,0,0,area&,5000,0)
    ~SetWindowLong(EditKR&,~GWL_EXSTYLE,0)
    SetText  EditKR&,"Seite:"
    var  EditKM&=control("Edit","",$540100C1,0,0,0,0,area&,0,%hinstance,$0200)
    ~SetWindowLong(EditKM&,~GWL_EXSTYLE,0)
    SetText  EditKM&,"Mitgliederliste"
    Blatt_KF  Kopfzeile einfügen
    setfocus(B_dlg&)

    while 1

        ~RedrawWindow(area&, 0, 0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
        WaitInput
        case %key=2 : break
        case (abs(%menuitem)=3110) : break

        IF (abs(%menuitem)=2004)  Hochformat

            Layout$="hoch"
            Blatt_Format
            Blatt_Basis
            Blatt_RTF
            Blatt_KF
            Blatt_Status
            setfocus(B_Dlg&)

        ElseIF (abs(%menuitem)=2005)  Querformat

            Layout$="quer"
            Blatt_Format
            Blatt_Basis
            Blatt_RTF
            Blatt_KF
            Blatt_Status
            setfocus(B_Dlg&)

        endif

    EndWhile

    SubClass area&, 0
    Dispose rect#
    Dispose vs#
    Dispose L#
    DestroyWindow(B_dlg&)
    DeleteObject L_LVfont&

EndProc

########################################################################################
Declare Bmp1&,Bmp2&
window 10,10 - 800,600
cls
var L_font& = @Create("Font","Verdana",16,0,0,0,0)
var old_file$ = GetDir$("@") $ProgDir
declare temp$, text$, x%
Usefont "MS Sans Serif",16,0,0,0,0
SetDialogFont 1
Mitg_Print Liste Mitglieder drucken
WaitInput
DestroyWindow(%hwnd)
FreeDLL RtfDll&
DeleteObject L_font&
End
 
Gruß Thomas
Windows XP SP2, XProfan X2
06/21/09  
 




Jörg
Sellmeyer
is because The pcu utterly necessary for Programmablauf? i'd also yet rausnehmen, circa Fehlerquellen to exclude and the program really the utterly Nötigste To reduce.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06/22/09  
 



Thomas suitor, Beitrag=52731, Zeitpunkt=21.06.2009
my attachment is in the rule tested.


by me wars so, I whom attachment opened and XPSE immediate unknown ESC-Sequenzen found. so pushing I on whom Filenames for the Image which not included was.

to dlgmenu.pcu heard too a .def-File which not are missing ought to for Tester if The Unit eingebunden becomes.

naturally becomes someone, the then only time even look wants "woran it hängt", broken.

Tjo and now having we in the Thread the Beschriebene Phäno: [...]  (6 Posts without Help)
 
06/22/09  
 




Thomas
Freier
Tjo, then be I well fehl, if now only yet with XPSE konformen Minimalbeispielen (Have I moreover anything overlooking?) Help expect is and otherwise only superfluous Posts come into being.
 
Gruß Thomas
Windows XP SP2, XProfan X2
06/22/09  
 



If one Error in the View source is, then ists well wurscht, who or what whom Error finds. If your trouble is, that XPSE whom finds, then are You sure fehl.

I screen my Source still too before I tappt im dunkeln hochlade, a care The sure Time in claim takes - but the ought to one itself quiet take.

example shows but integrally clear: would have same XPSE taken... (then were it vlt. at least these (futile) Postings not)

it'll still nothing unmögliches desires, if is a prf-File a exe-File draufzieht circa Error To see - to the Post.

I at least give me often very plenty trouble at Fehlerfinden, but if then in the Quell-code already Macken are The the Verfasser slight had find can, then feel I it as contempt of my Time and be nevertheless so nice and poste The Errors The I sustain - but in the hope that the Verfasser itself therefore kümmert instead of debattiert.

otherwise (see Yes) what uses you one Thread without Help or. one Thread the first Starthilfe need.

whom whole Garbage here can I then again cut off if it then again ums Topic goes.

Thomas suitor, Beitrag=52736, Zeitpunkt=22.06.2009
...with XPSE konformen Minimalbeispielen...


Perhaps is the (to näherer Betrachtung) a garnichtmal so code idea: [...] 
 
06/22/09  
 




Dieter
Zornow
I have difficulty the trouble To discern. If the Header around the It's all right, date, Mitgliederliste and Page is, changed the position the individual Überschriften at switch on Landscape, that is everything becomes More apart shoved. therefore is me not clear wonach I look ought to. the has nothing with Fehlern To do, because by me runs the example and 1 Backslash instead of 2 is Yes yet no Error. It can to a Error go, if a Escapesequenz in Kleinschrift met becomes, therefore ought to one on 2 Backslash too respect. after the image but not thereby is, is But too harmless. Perhaps would it useful accurate To describe, How the positions date Mitgliederliste and Page change should. of standing since see it by me normal from How Landscape his ought to, with the story.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
06/22/09  
 




Thomas
Freier
I wisely Yes, if I XPSE use would, had I less Problems and this well already self resolved. there the Scrollsript presumably from the SCROLLAREA of iF stammt, so is there too The Solution in the example 5. The code has me unfortunately not yet erschlossen, I even still with the profed32.exe work and ifs there To to *.exe runs, is it for me OK.
to that The problem Bilderreihe:
1. Start with stature high
2. stature on athwart
3. leaf to right gescrollt
4. stature on high ; The EDIT-row isn't More linksbündig
If:
5. stature athwart, the leaf is to left gescrollt
6. stature on high, The EDIT-row is linksbündig
there should itself the trouble still so to fix let: to the Formatwechsel by commands The Page to scroll left.
now nails me Please not solid over: left or. right gescrollt. there Have I already in the association plenty Verständnisprobleme over Boote stock or auslagern. apiece from visibility one Anglers or Seglers.

The eigentliche task is a Listeneditor (Image7) to create. Zigmal started and again verworfen. for a good "List&Label"-example in XProfan would I grateful.
Z.Z. map I:
a Kopfbereich as *.RTF, the only on the Deckblatt printed becomes
head- and Footer for all Druckblätter
one List view for data
One List view, because it so beautiful simply is the mins. Column automatically festzulegen and the Split as an afterthought yet moved go can.
The data go into *.rtf eingebettet and at renewed appeal read.
CompileMarkSeparation
    {tf1ansiansicpg1252deff0deflang1031{fonttbl{f0fnilfcharset0 Verdana;}}

        viewkind4uc1pardqcf0fs40par
        {info{|Seite|hoch|5|20|10|30|}}
        {info{|Logo|E:Verein-Thomas-XProfan11Logo.bmp|5|10|100|}}
        {info{|KopfL||Arial|10|0|0|0|0|}}
        {info{|KopfM|Mitgliederliste|Arial|12|0|0|0|0|}}
        {info{|KopfR|Seite:|Arial|10|0|0|0|0|}}
        {info{|FussL|22.06.2009|Arial|10|0|0|0|0|}}
        {info{|FussM||Arial|12|0|0|0|0|}}
        {info{|FussR|Seite:|Arial|10|0|0|0|0|}}
        {info{|dbf|2|3|}}
        {info{|dbfH|Vorname|Name|}}
        {info{|dbfF|Arial|12|1|0|}}
        SAV Pliete e.V. Lfcbeckpar
        par

    0FF>}


Test only possible, if space, The first here automatically installed, again deleted go.
Nachtrag because of the Einwände: The pattern.rtf as pattern.txt (rename) appended. becomes over one Multi-Edit read. the Insert results too over the Multi-Edit:
The *.rtf becomes stored and line by line in that Multi-Edit loaded. now go to row two The Info-Lines eingefügt and everything as *.rtf stored. goes presumably too differently.

19 kB
Hochgeladen:06/22/09
Downloadcounter35
Download
46 kB
Hochgeladen:06/22/09
Downloadcounter26
Download
19 kB
Hochgeladen:06/22/09
Downloadcounter34
Download
19 kB
Hochgeladen:06/22/09
Downloadcounter33
Download
19 kB
Hochgeladen:06/22/09
Downloadcounter24
Download
18 kB
Hochgeladen:06/22/09
Downloadcounter28
Download
18 kB
Hochgeladen:06/22/09
Downloadcounter22
Download
1 kB
Hochgeladen:06/23/09
Downloadcounter62
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
06/22/09  
 



Thomas suitor, Beitrag=52750, Zeitpunkt=22.06.2009
Test only possible, if space, The first here automatically installed, again deleted go.


very, for such Cases stops I always [...]  parat - teste the time this is for 1:1-Text invincible. in the Posting only yet The URL post.

my Scrollarea-Include [...]  see I in obigen Codes but not.

Thomas suitor, Beitrag=52750, Zeitpunkt=22.06.2009
for a good "List&Label"-example in XProfan would I grateful.


have You a Screenshot of such Control which you mean? (vlt. bräuchte I something like indeed)
 
06/22/09  
 



 
- Page 2 -



Thomas
Freier
@iF, such a thing How in the attachment? is already something older what about me wished possible everything in "Druckvorschau" make.

in the Democode 5 is the Scrollposition type:
CompileMarkSeparation
caseof event.clickMyButtonGotoXY&

enablewindow hwnd::window&,false
hwnd::setScrollPos(val(input$("X","X","100")),val(input$("Y","Y","100")))
enablewindow hwnd::window&,tru

Well, if I now AREA& on 0-0 before the Seitenwechsel settle would, so müssten The Darstellungprobleme fixed his.

29 kB
Hochgeladen:06/23/09
Downloadcounter21
Download
43 kB
Hochgeladen:06/23/09
Downloadcounter28
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
06/23/09  
 



and a hwnd::setScrollPos(0,0) helps not?

(shining me no current Code his)
 
06/23/09  
 




Thomas
Freier
can his, there already one Weilchen in the Schublade. origin : [...] 
but, How eingangs already demand, knows of/ one another Solution.
 
Gruß Thomas
Windows XP SP2, XProfan X2
06/23/09  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

2.601 Views

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie