Italia
Foro

Static mit Scrollbalken

 

Rainer
Hoefs
Hallo zusammen,
ich benötige mal wieder Aiuto.

Ich habe ein Static erstellt, welches einen vertikalen und horizontalen Scrollbalken hat. Darin soll eine BMP-Grafik gezeigt werden. Ist diese in un oder beide Richtungen größer, soll sie mittels der Scrollbalken verschoben werden können.

Nun habe ich folgende Probleme.

Wie kann ich nach dem Laden des Bildes...
1. die benötigten Scrollbalken aktivieren oder deaktivieren Hor / Ver / Hor+Ver?
2. die Scrollrange einstellen?
3. den Slider in der Dimensione einstellen?
4. die beiden Scrollbalken abfangen um darauf zu reagieren?
5. überhaupt die Handles der drei Elemente (Static, hScroll und vScroll) feststellen um Messages dorthin zu senden oder sie abzufangen?

Ich hatte schon einmal auf irgendeiner Webseite Messages und Beschreibung gesehen, weiß aber nicht mehr wo. Und seit Tagen suche ich danach erfolglos im Netz.

Hier der Source eines Testprogrammes.

Für Eure Aiuto schonmal ein Dankeschön im Voraus.

Rainer
' Code erzeugt mit F.Abbing's LemonViD Version 1.0.0.3 am 11.05.2019 um 08:35 Uhr,
' Spenden-Button, sowie weitere Freeware-Tools per XProfan auf https://frabbing.net
' Technischer Sostegno auf ./../../sys/?nohdr=1&u=www.paules-pc-forum.de/forum/xprofan und https://purebasic.fr/german
' --------------------------------------------------------------------------------------------------
Declare nurso%, Ende%, button2%, StaticFrame&, OriginalBMP$, OriginalBMp&, OriginalBMPWidth%, OriginalBMPHeight%, \
Style%, Message$, mwnd$, wParam$, lParam$
Def GetStockObject(1) !"GDI32","GetStockObject"
Def GetSysColor(1) !"USER32","GetSysColor"
Def GetParent(1) !"USER32","GetParent"
Def SendBMP2Static(2) SendMessage(&(1),$172,0,&(2))
Def &COLOR_BTNFACE $F
Def &DEFAULT_GUI_FONT $11
Set("Truecolor", 1)
Set("Autopaint", 1)

Proc ShowDesign

    Parameters Design&, Target&, X%, Y%, Mode%

    If Design&

        StartPaint Target&
        DrawPic Design&, X%, Y%; Mode%
        EndPaint

    Else

        MessageBox("Kein BMP geladen!", "Fehler!",64)

    EndIf

EndProc

Proc LoadDesign

    OriginalBMP$ = loadfile$("Bitte Bild oder HTML-File wählen","c:\css\pictures\*.bmp")

    If OriginalBMP$ <> ""

        OriginalBMp& = Create("hPic", -1, OriginalBMP$)
        OriginalBMPWidth% = %bmpx
        OriginalBMPHeight% = %bmpy
        '------------------------------------------------------------------------------------------------------------
        ' Hier werden die verschiedenen Styles im Static gesetzt, dazu bitte einfach den Style% auf 1 - 6 setzen!
        '------------------------------------------------------------------------------------------------------------
        Style% = 1
        Style% = Input$( "Style auswählen, eine Zahl zwischen 1 und 6 eingeben", "Style", Style%)'3* oder 6 wären optisch meine Favoriten

        If (Style% > 0) And (Style% < 7)

            DestroyWindow(StaticFrame&)

            Select Style%

                CaseOf 1

                StaticFrame& = Control("Static", "", $5630030f, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $060018)

                CaseOf 2

                StaticFrame& = Control("Static", "", $56320b0f, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $070018)

                CaseOf 3

                StaticFrame& = Control("Static", "", $54300107, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $020010)

                CaseOf 4

                StaticFrame& = Control("Static", "", $56300107, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $018)

                CaseOf 5

                StaticFrame& = Control("Static", "", $52b01b0e, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $0)
                OtherWise
                StaticFrame& = Control("Static", "", $54b00107, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $010010)

            EndSelect

            'SendMessage()

        Else

            MessageBox("Eine Zahl zwischen 1 und 6 eingeben!", "Fehler!",64)

        EndIf

        '------------------------------------------------------------------------------------------------------------

    Else

        MessageBox("Design laden wurde abgebrochen!","Design laden",64)

    EndIf

EndProc

Proc CreateElements

    WindowStyle 26 | 512 | 2048
    WindowTitle "Arbeitsfenster"
    Window 426, 120 - 1009, 782
    Cls GetSysColor(&COLOR_BTNFACE)
    SetDialogFont GetStockObject(&DEFAULT_GUI_FONT)
    StaticFrame& = Control("Static", "", $5630030f, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $060018)
    Ende% = Create("Button", %hwnd, "Ende", 896, 720, 96, 24)
    button2% = Create("Button", %hwnd, "Bild laden", 8, 720, 96, 24)

EndProc

Proc MainLoop

    UserMessages 16
    ShowWindow(%hwnd, 1)

    While 1

        GetMessage
        WaitInput
        Case %umessage = 16 : BREAK

        If Clicked(Ende%)

            End

        ElseIf Clicked(button2%)

            LoadDesign
            Showdesign OriginalBMp&, StaticFrame&, 0, 0, 0

        ElseIf Clicked(StaticFrame&)

            message$ = Hex$(%message)
            mwnd$ = Hex$(%mwnd)
            wParam$ = Hex$(&wparam)
            lParam$ = Hex$(&lparam)
             $D "StaticFrame angeklickt GetMessage", Message$, mwnd$, wParam$, lParam$
            Showdesign OriginalBMp&, StaticFrame&, 0, 0, 0

        EndIf

    EndWhile

EndProc

Proc Main

    CreateElements
    MainLoop

EndProc

Main
 
11.05.2019  
 




Matthias
Arlt
Hier solltest Du fündig werden: [...] 

Saluto Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
13.05.2019  
 




Rainer
Hoefs
Hallo Matthias,

dankeschön.

Das muss ich erst mal sacken lassen.

Habe jetzt beim ersten schnellen Durchlesen nicht so wirklich was gefunden, was ich mit meinem Problem assoziieren potuto.

Könntest Du mir da noch einen weiteren Tip geben?

Saluto
Rainer
 
13.05.2019  
 




Matthias
Arlt
Hallo Rainer,

dort findest Du halt die komplette API-Referenz per das ScrollBar-Control.
Ein Handle wird zum Abfragen und Steuern der ScrollBar nicht necessario. Da die ScrollBar immer mit einem anderem Control bzw. Fenster assoziiert ist, ist dessen Handle in Verbindung mit dem entsprechenden Flag (z.B. SB_HORZ, SB_VERT, SB_BOTH) zu verwenden.

Auf die Schnelle mal noch ein Beispiel zum De/Aktivieren einer ScrollBar:

external("USER32","EnableScrollBar",StaticFrame&,~SB_HORZ,~ESB_DISABLE_BOTH)
SB_HORZ = 0 (betrifft die horizontale ScrollBar)
ESB_DISABLE_BOTH = 3 (deaktiviert beide Pfeiltasten)
ESB_ENABLE_BOTH = 0 (aktiviert beide Pfeiltasten wieder)

Saluto Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
14.05.2019  
 




Rainer
Hoefs
Danke Dir,
dann muß ich da mal was probieren.
Rainer
 
14.05.2019  
 




Georg
Teles
Habe mal hinbekommen, beiden Balken manuell Werte zuzuweisen ... das ist total umständlich mit GetScrollInfo und SetScrollinfo, aber es geht.

Allerdings sind meine Balken ebenfalls deaktiviert, erst wenn ich die auf das Hauptfenster baue, dann sind die aktiv. Woran das liegt, keine Ahnung...

Man kann doch mit den mitgelieferten VScroll / HScroll arbeiten, hier habe ich ein Beispiel (die Designs habe ich rausgelöscht, da das Bild ja auf Static ist / per Umrandung muss man nur das Static-Handle anpassen)
' Code erzeugt mit F.Abbing's LemonViD Version 1.0.0.3 am 11.05.2019 um 08:35 Uhr,
' Spenden-Button, sowie weitere Freeware-Tools per XProfan auf https://frabbing.net
' Technischer Sostegno auf ./../../sys/?nohdr=1&u=www.paules-pc-forum.de/forum/xprofan und https://purebasic.fr/german
' --------------------------------------------------------------------------------------------------
Declare nurso%, Ende%, button2%, StaticFrame&, OriginalBMP$, OriginalBMp&, OriginalBMPWidth%, OriginalBMPHeight%, \
Style%, Message$, mwnd$, wParam$, lParam$
Def GetStockObject(1) !"GDI32","GetStockObject"
Def GetSysColor(1) !"USER32","GetSysColor"
Def GetParent(1) !"USER32","GetParent"
Def SendBMP2Static(2) SendMessage(&(1),$172,0,&(2))
Def &COLOR_BTNFACE $F
Def &DEFAULT_GUI_FONT $11
Set("Truecolor", 1)
Set("Autopaint", 1)
' zusätzliche VARs -----------#
DECLARE uStatic&, Static&, hsv&, hsh&
' ----------------------------#

Proc ShowDesign

    Parameters Design&, Target&, X%, Y%, Mode%

    If Design&

        'StartPaint Target&
        'DrawPic Design&, X%, Y%; Mode%
        'EndPaint
        ' BILD an STATIC senden ------#
        SendMessage(target&,$172,0,Design&)

    Else

        MessageBox("Kein BMP geladen!", "Fehler!",64)

    EndIf

EndProc

Proc LoadDesign

    Parameters target&
    OriginalBMP$ = loadfile$("Bitte Bild oder HTML-File wählen","c:\css\pictures\*.bmp")

    If OriginalBMP$ <> ""

        OriginalBMp& = Create("hPic", -1, OriginalBMP$)
        OriginalBMPWidth% = %bmpx
        OriginalBMPHeight% = %bmpy
        ' BILD an STATIC senden ------#
        SendMessage(target&,$172,0,OriginalBMp&)
        ' SetWindowPos Static& = 0, 0 - OriginalBMPWidth%, OriginalBMPHeight%;0 'nicht nötig, da vorangehende Message die Static& automatisch auf die Dimensione anpasst
        SetScrollRange hsh&,0,OriginalBMPWidth%-964
        SetScrollRange hsv&,0,OriginalBMPHeight%-684
        SetScrollPos hsh&,0
        SetScrollPos hsv&,0
        ' ----------------------------#

    Else

        MessageBox("Design laden wurde abgebrochen!","Design laden",64)

    EndIf

EndProc

Proc CreateElements

    WindowStyle 26 | 512 | 2048
    WindowTitle "Arbeitsfenster"
    Window 426, 120 - 1009, 782
    Cls GetSysColor(&COLOR_BTNFACE)
    SetDialogFont GetStockObject(&DEFAULT_GUI_FONT)
    ' zusätzliche FOBKEJTE -------#
    hsh& = Create("HScroll",%hwnd,"",8,692,964,20)
    hsv& = Create("VScroll",%hwnd,"",972,8,20,684)
    uStatic& = Control("Static", "", $54000000, 8, 8, 964, 684, %hwnd, 2000, %hinstance, $0)' UnterSTATIC
    Static& = Control("Static", "", $5400010E, 0, 0, 0, 0, uStatic&, 2000, %hinstance, $0)' eigentliche Static mit Bild
    ' ----------------------------#
    'StaticFrame& = Control("Static", "", $5630030f, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $060018)
    Ende% = Create("Button", %hwnd, "Ende", 896, 720, 96, 24)
    button2% = Create("Button", %hwnd, "Bild laden", 8, 720, 96, 24)

EndProc

Proc MainLoop

    UserMessages 16
    ShowWindow(%hwnd, 1)

    While 1

        GetMessage
        WaitInput
        Case %umessage = 16 : BREAK

        If Clicked(Ende%)

            End

        ElseIf Clicked(button2%)

            LoadDesign(Static&)

        ElseIf Clicked(StaticFrame&)

            '            message$ = Hex$(%message)
            '            mwnd$ = Hex$(%mwnd)
            '            wParam$ = Hex$(&wparam)
            '            lParam$ = Hex$(&lparam)
            '             $D "StaticFrame angeklickt GetMessage", Message$, mwnd$, wParam$, lParam$
            '            Showdesign OriginalBMp&, StaticFrame&, 0, 0, 0

        EndIf

        ' SCROLL reaktionen / Bild scrollen

        If GetFocus(hsh&)

            SetWindowPos Static& = (-GetScrollPos(hsh&)), (-GetScrollPos(hsv&))

        EndIf

        If GetFocus(hsv&)

            SetWindowPos Static& = (-GetScrollPos(hsh&)), (-GetScrollPos(hsv&))

        EndIf

    EndWhile

EndProc

Proc Main

    CreateElements
    MainLoop

EndProc

Main

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

16.05.2019  
 




Rainer
Hoefs
Hallo und ein großes DANKE!

Das ist das was ich wollte.

Rainer
 
16.05.2019  
 




Georg
Teles
Damit es etwas flüssiger corre, hier das Beispiel mit einer CallBack Funktion
 $H Windows.ph
 $H Messages.ph
' Code erzeugt mit F.Abbing's LemonViD Version 1.0.0.3 am 11.05.2019 um 08:35 Uhr,
' Spenden-Button, sowie weitere Freeware-Tools per XProfan auf https://frabbing.net
' Technischer Sostegno auf ./../../sys/?nohdr=1&u=www.paules-pc-forum.de/forum/xprofan und https://purebasic.fr/german
' --------------------------------------------------------------------------------------------------
Declare nurso%, Ende%, button2%, StaticFrame&, OriginalBMP$, OriginalBMp&, OriginalBMPWidth%, OriginalBMPHeight%, \
Style%, Message$, mwnd$, wParam$, lParam$
Def GetStockObject(1) !"GDI32","GetStockObject"
Def GetSysColor(1) !"USER32","GetSysColor"
Def GetParent(1) !"USER32","GetParent"
Def SendBMP2Static(2) SendMessage(&(1),$172,0,&(2))
Def &COLOR_BTNFACE $F
Def &DEFAULT_GUI_FONT $11
Set("Truecolor", 1)
Set("Autopaint", 1)
' zusätzliche DEFs ---------- #
Def CommDlgExtendedError(0)!"ComDlg32.Dll","CommDlgExtendedError"
Def GetOpenFileName(1)!"ComDlg32.Dll","GetOpenFileNameA"
' erweitertes Handling deakt. #
Set("FastMode", 1)
' zusätzliche VARs -----------#
DECLARE uStatic&, Static&, hsv&, hsh&, OldWndProc&, Api#
' ----------------------------#

Proc ShowDesign

    Parameters Design&, Target&, X%, Y%, Mode%

    If Design&

        'StartPaint Target&
        'DrawPic Design&, X%, Y%; Mode%
        'EndPaint
        ' BILD an STATIC senden ------#
        SendMessage(target&,$172,0,Design&)

    Else

        MessageBox("Kein BMP geladen!", "Fehler!",64)

    EndIf

EndProc

Proc LoadDesign

    Parameters target&
    OriginalBMP$ = loadfile_api("Bitte Bild oder HTML-File wählen","Alle File (*.*)|*.*","c:\css\pictures\*.bmp")'loadfile$("Bitte Bild oder HTML-File wählen","c:\css\pictures\*.bmp")

    If OriginalBMP$ <> ""

        OriginalBMp& = Create("hPic", -1, OriginalBMP$)
        OriginalBMPWidth% = %bmpx
        OriginalBMPHeight% = %bmpy
        ' BILD an STATIC senden ------#
        SendMessage(target&,$172,0,OriginalBMp&)
        ' SetWindowPos Static& = 0, 0 - OriginalBMPWidth%, OriginalBMPHeight%;0 'nicht nötig, da vorangehende Message die Static& automatisch auf die Dimensione anpasst
        SetScrollRange hsh&,0,OriginalBMPWidth%-964
        SetScrollRange hsv&,0,OriginalBMPHeight%-684
        SetScrollPos hsh&,0
        SetScrollPos hsv&,0
        ' ----------------------------#

    Else

        MessageBox("Design laden wurde abgebrochen!","Design laden",64)

    EndIf

EndProc

Proc loadfile_api

    Parameters tit$,mas$,LW$
    Declare i%, Path$, File$
    Dim Api#,8100
    mas$ = Translate$(mas$,"|","\z")+"\z\z"
    Clear Api#,Path$
    Long Api#,0 = 76
    Long Api#,4 = %HWnd
    Long Api#,8 = %hInstance
    Long Api#,12 = Addr(mas$)
    Long Api#,16 = 0
    Long Api#,20 = 0
    Long Api#,24 = 0
    long Api#,28 = Api#+100
    long Api#,32 = 8000
    long Api#,36 = 0
    long Api#,40 = 0
    long Api#,44 = Addr(LW$)
    long Api#,48 = Addr(tit$)
    long Api#,52 = $00081006
    Word Api#,56 = 0
    Word Api#,58 = 0
    Long Api#,60 = 0
    GetOpenFileName(Api#)

    If CommDlgExtendedError()

        Err$ = If(CommDlgExtendedError() = $3003,"Sie haben zu viele Einträge ausgewählt !",Format$("'Fehlernummer : '###",CommDlgExtendedError()))
        Messagebox(Err$,"Hinweis",48)

    Else

        i% = Long(Api#,56)-1
        File$ = String$(Api#,100)
        return File$

    EndIf

    DisPose Api#

EndProc

Proc CreateElements

    WindowStyle 26 | 512 | 2048
    WindowTitle "Arbeitsfenster"
    Window 426, 120 - 1009, 782
    Cls GetSysColor(&COLOR_BTNFACE)
    SetDialogFont GetStockObject(&DEFAULT_GUI_FONT)
    ' zusätzliche FOBKEJTE -------#
    hsh& = Create("HScroll",%hwnd,"",8,692,964,20)
    hsv& = Create("VScroll",%hwnd,"",972,8,20,684)
    uStatic& = Control("Static", "", $54000000, 8, 8, 964, 684, %hwnd, 2000, %hinstance, $0)' UnterSTATIC
    Static& = Control("Static", "", $5400010E, 0, 0, 0, 0, uStatic&, 2000, %hinstance, $0)' eigentliche Static mit Bild
    ' ----------------------------#
    'StaticFrame& = Control("Static", "", $5630030f, 8, 8, 984, 704, %hwnd, 2000, %hinstance, $060018)
    Ende% = Create("Button", %hwnd, "Ende", 896, 720, 96, 24)
    button2% = Create("Button", %hwnd, "Bild laden", 8, 720, 96, 24)

EndProc

Proc MainLoop

    UserMessages 16
    ShowWindow(%hwnd, 1)
    OldWndProc& = ~GetWindowLong(%hWnd, ~GWL_WNDPROC)
    ~SetWindowLong(%hWnd, ~GWL_WNDPROC, @ProcAddr("ChangeControl", 4))

    While 1

        WaitInput
        Case %umessage = 16 : BREAK

        If Clicked(Ende%)

            End

        ElseIf Clicked(button2%)

            LoadDesign(Static&)

        ElseIf Clicked(StaticFrame&)

            '            message$ = Hex$(%message)
            '            mwnd$ = Hex$(%mwnd)
            '            wParam$ = Hex$(&wparam)
            '            lParam$ = Hex$(&lparam)
            '             $D "StaticFrame angeklickt GetMessage", Message$, mwnd$, wParam$, lParam$
            '            Showdesign OriginalBMp&, StaticFrame&, 0, 0, 0

        EndIf

    EndWhile

    ~SetWindowLong(%hWnd, ~GWL_WNDPROC, OldWndProc&)

EndProc

Proc ChangeControl

    Parameters hWnd&, Message&, wParam&, lParam&
    ' SCROLL reaktionen / Bild scrollen

    If GetFocus(hsh&)

        SetWindowPos Static& = (-GetScrollPos(hsh&)), (-GetScrollPos(hsv&))

    EndIf

    If GetFocus(hsv&)

        SetWindowPos Static& = (-GetScrollPos(hsh&)), (-GetScrollPos(hsv&))

    EndIf

    Return ~CallWindowProc(OldWndProc&, hWnd&, Message&, wParam&, lParam&)

EndProc

Proc Main

    CreateElements
    MainLoop

EndProc

Main

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

19.05.2019  
 




p.specht

Profan 11.2a free: Graues Bild, keine Buttons.
Bitte um Hinweis, was da zu ändern ist ...
Gruss
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
20.05.2019  
 




Georg
Teles
Ich habe XProfan 11 Free probiert, bei mir funktioniert es - der 2. Code naturalmente nicht, da in 11 free die Funktion ProcAddr nicht gibt.



Versuche mal diese Zeile in der Prozedur LoadDesign zu aktivieren, eventuell kann es helfen
' SetWindowPos Static& = 0, 0 - OriginalBMPWidth%, OriginalBMPHeight%;0 'nicht nötig, da vorangehende Message die Static& automatisch auf die Dimensione anpasst

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

20.05.2019  
 




p.specht

Das allein ist es nicht. Muss wohl den Code erst mal genauer studieren...
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
20.05.2019  
 




Georg
Teles
Da wär noch eine Alternative, Franks Area  [...] 

Wenn ein neues Bild geladen wird, wird die Box mittels DestroyWindow entfernt, um sie mit der neuen Breite / Höhe zu erzeugen - man müsste die Dimensione auch so ändern können, hab gerade nur keine Zeit
' Code erzeugt mit F.Abbing's LemonViD Version 1.0.0.3 am 11.05.2019 um 08:35 Uhr,
' Spenden-Button, sowie weitere Freeware-Tools per XProfan auf https://frabbing.net
' Technischer Sostegno auf ./../../sys/?nohdr=1&u=www.paules-pc-forum.de/forum/xprofan und https://purebasic.fr/german
' --------------------------------------------------------------------------------------------------
Declare nurso%, Ende%, button2%, StaticFrame&, OriginalBMP$, OriginalBMp&, OriginalBMPWidth%, OriginalBMPHeight%, \
Style%, Message$, mwnd$, wParam$, lParam$
Def GetStockObject(1) !"GDI32","GetStockObject"
Def GetSysColor(1) !"USER32","GetSysColor"
Def GetParent(1) !"USER32","GetParent"
Def SendBMP2Static(2) SendMessage(&(1),$172,0,&(2))
Def &COLOR_BTNFACE $F
Def &DEFAULT_GUI_FONT $11
Set("Truecolor", 1)
Set("Autopaint", 1)
 $I an_area.inc = FA_

SubClassProc

    FA_SubclassArea

EndProc

' zusätzliche VARs -----------#
DECLARE uStatic&, Static&, hsv&, hsh&
' ----------------------------#

Proc LoadDesign

    Parameters target&
    OriginalBMP$ = loadfile$("Bitte Bild oder HTML-File wählen","c:\css\pictures\*.bmp")

    If OriginalBMP$ <> ""

        OriginalBMp& = Create("hPic", -1, OriginalBMP$)
        OriginalBMPWidth% = %bmpx
        OriginalBMPHeight% = %bmpy
        ' BILD an STATIC senden ------#
        SubClass uStatic&, 0
        DestroyWindow(uStatic&)
        uStatic& = FA_CreateArea(OriginalBMPWidth%+17,OriginalBMPHeight%+17,$0,$50300000,8,8,990,690,%hwnd)
        SubClass uStatic&, 1
        Static& = Control("Static", "", $5400010E, 0, 0, 0, 0, uStatic&, 2000, %hinstance, $0)' eigentliche Static mit Bild
        SendMessage(Static&,$172,0,OriginalBMp&)
        ' ----------------------------#

    Else

        MessageBox("Design laden wurde abgebrochen!","Design laden",64)

    EndIf

EndProc

Proc CreateElements

    WindowStyle 26 | 512 | 2048
    'WindowTitle "Arbeitsfenster"
    Window 426, 120 - 1009, 782
    Cls GetSysColor(&COLOR_BTNFACE)
    SetDialogFont GetStockObject(&DEFAULT_GUI_FONT)
    ' zusätzliche FOBKEJTE -------#
    uStatic& = FA_CreateArea(3200,1247,$0,$50300000,8,8,990,690,%hwnd)
    SubClass uStatic&, 1
    Static& = Control("Static", "", $5400010E, 0, 0, 0, 0, uStatic&, 2000, %hinstance, $0)' eigentliche Static mit Bild
    ' ----------------------------#
    Ende% = Create("Button", %hwnd, "Ende", 896, 720, 96, 24)
    button2% = Create("Button", %hwnd, "Bild laden", 8, 720, 96, 24)

EndProc

Proc MainLoop

    UserMessages 16
    ShowWindow(%hwnd, 1)

    While 1

        GetMessage
        WaitInput
        Case %umessage = 16 : BREAK

        If Clicked(Ende%)

            End

        ElseIf Clicked(button2%)

            LoadDesign(Static&)

        ElseIf Clicked(StaticFrame&)

            '            message$ = Hex$(%message)
            '            mwnd$ = Hex$(%mwnd)
            '            wParam$ = Hex$(&wparam)
            '            lParam$ = Hex$(&lparam)
            '             $D "StaticFrame angeklickt GetMessage", Message$, mwnd$, wParam$, lParam$
            '            Showdesign OriginalBMp&, StaticFrame&, 0, 0, 0

        EndIf

        ' SCROLL reaktionen / Bild scrollen

        If GetFocus(hsh&)

            SetWindowPos Static& = (-GetScrollPos(hsh&)), (-GetScrollPos(hsv&))

        EndIf

        If GetFocus(hsv&)

            SetWindowPos Static& = (-GetScrollPos(hsh&)), (-GetScrollPos(hsv&))

        EndIf

    EndWhile

    SubClass uStatic&, 0

EndProc

Proc Main

    CreateElements
    MainLoop

EndProc

Main

Die Inc habe ich mal beigelegt

Grüße Georg

6 kB
Hochgeladen:30.05.2019
Downloadcounter95
Download
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

30.05.2019  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

6.473 Views

Untitledvor 0 min.
Normann Strübli08.02.2023
H.Brill09.01.2022
N.Art18.11.2020
iF31.10.2020
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  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