11.5.1: ABL Windows SCROLL-BARS attribute setting during run

Posted by Stefan Marquardt on 11-May-2017 03:42

Is it possible to change the windows attribute SCROLL-BARS dynamically during the runtime  when .w is starting?

I tried a few things, like adding the setting in the first Method Library but I get all the time error 4053 (widget has been realized)

Help says: Readable/Writeable but it's not really "writeable"

All Replies

Posted by cverbiest on 11-May-2017 04:33

We use following code to remove scrollbars from a frame, I haven't tested it on a window

procedure ShowScrollBar external "user32":
    define input  parameter hwnd        as LONG.
    define input  parameter fnBar       as LONG.
    define input  parameter fShow       as LONG.
    define return parameter ReturnValue as LONG.
end procedure.



procedure ShowFrameScrollbar :
define input parameter ip-Frame      as handle  no-undo.
    define input parameter ip-horizontal as logical no-undo.
    define input parameter ip-vertical   as logical no-undo.

    define       variable  iv-retint     as integer no-undo.

    &scoped-define SB_HORZ 0
    &scoped-define SB_VERT 1
    &scoped-define SB_BOTH 3
    &scoped-define SB_THUMBPOSITION 4

    run ShowScrollBar ( ip-Frame:hwnd,
                        {&SB_HORZ},
                        if ip-horizontal then -1 else 0,
                        output iv-retint ).

    run ShowScrollBar ( ip-Frame:hwnd,
                        {&SB_VERT},
                        if ip-vertical  then -1 else 0,
                        output iv-retint ).
    &undefine SB_HORZ
    &undefine SB_VERT
    &undefine SB_BOTH
    &undefine SB_THUMBPOSITION

end procedure.

This thread is closed