English
Forum

the Rebar-Control

 

Jac
de
Lad
has already someone experience with Rebar-Controls? I Have the windows-SDK, but somehow missing me there the beginning...and Hintergrundwissen.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10/28/06  
 



I faith Uwe has most Experience with Rebars.
 
10/28/06  
 




Detlef
Jagolski
Hello

have too time started, is not ready.
CompileMarkSeparation
Declare InitCommonControls#
Declare RebarInfo#
Declare RebarBandInfo#
Struct INITCOMMONCONTROLS = dwSize&, dwICC&
Struct REBARINFO = cbSize&, fMask&, himl&
Struct REBARBANDINFO = cbSize&, fMask&, fStyle&, clrFore&, clrBack&, lpText&, cch&, iImage&, hwndChild&, cxMinChild&, cyMinChild&, cx&, hbmBack&, wID&, cyChild&, cyMaxChild&, cyIntegral&, cxIdeal&, lParam&, cxHeader&
Dim RebarBandInfo#, REBARBANDINFO
Dim RebarInfo#, REBARINFO
InitControls
Class  CoolBar = Handle&,
RBStyle&,
RBBtnSize&,
hImagelist&,
CoolBar@,
RBGetHandle@,
RBClear@,
RBSetfMask@,
RBSetfStyle@,
RBSetclrFore@,
RBSetclrBack@,
RBSetlpText@,
RBSetcch@,
RBSetiImage@,
RBSethwndChild@,
RBSetcxMinChild@,
RBSetcyMinChild@,
RBSetcx@,
RBSethbmBack@,
RBSetwID@,
RBSetcyChild@,
RBSetcyMaxChild@,
RBSetcyIntegral@,
RBSetcxIdeal@,
RBSetlParam@,
RBSetcxHeader@,
RBSetBarInfo@,
RBInsert@,
RBFont@,
RBSetStyle@,
RBGetStyle@,
RBGetButtonSize@,
RBDispose@

Proc CoolBar.CoolBar

    Parameters ParentHandle&, x%, y%, dx%, dy%, ControlNo&
    Declare Style&
    Declare ExtStyle&
    NumWidth 12
    Style&    = ~WS_CHILD | ~WS_VISIBLE | ~WS_CLIPSIBLINGS | ~WS_CLIPCHILDREN | ~RBS_VARHEIGHT | ~CCS_NODIVIDER
    ExtStyle& = ~WS_EX_TOOLWINDOW
    .Handle&  = ~CreateWindowEx(ExtStyle&, "ReBarWindow32", "", Style&, x%, y%, dx%, dy%, ParentHandle&, ControlNo&, %Hinstance, $0)
    Return .Handle&

EndProc

Proc CoolBar.RBGetHandle

    Return .Handle&

EndProc

Proc CoolBar.RBClear

    Clear RebarBandInfo#
    RebarBandInfo#.cbSize& = SizeOf(RebarBandInfo#)

EndProc

Proc CoolBar.RBSetfMask

    Parameters  fMask&
    RebarBandInfo#.fMask& = fMask&

EndProc

Proc CoolBar.RBSetfStyle

    Parameters fStyle&
    RebarBandInfo#.fStyle& = fStyle&

EndProc

Proc CoolBar.RBSetclrFore

    Parameters clrFore&
    RebarBandInfo#.clrFore& = clrFore&

EndProc

Proc CoolBar.RBSetclrBack

    Parameters clrBack&
    RebarBandInfo#.clrBack& = clrBack&

EndProc

Proc CoolBar.RBSetlpText

    Parameters lpText$
    RebarBandInfo#.lpText& = Addr(lpText$)

EndProc

Proc CoolBar.RBSetcch

    Parameters cch&
    RebarBandInfo#.cch& = cch&

EndProc

Proc CoolBar.RBSetiImage

    Parameters iImage&
    RebarBandInfo#.iImage& = iImage&

EndProc

Proc CoolBar.RBSethwndChild

    Parameters hwndChild&
    RebarBandInfo#.hwndChild& = hwndChild&

EndProc

Proc CoolBar.RBSetcxMinChild

    Parameters cxMinChild&
    RebarBandInfo#.cxMinChild& = cxMinChild&

EndProc

Proc CoolBar.RBSetcyMinChild

    Parameters cyMinChild&
    RebarBandInfo#.cyMinChild& = cyMinChild&

EndProc

Proc CoolBar.RBSetcx

    Parameters cx&
    RebarBandInfo#.cx& = cx&

EndProc

Proc CoolBar.RBSethbmBack

    Parameters Typ%, hbmBack$
    RebarBandInfo#.hbmBack& = Create("hPic",Typ%,hbmBack$)

EndProc

Proc CoolBar.RBSetwID

    Parameters wID&
    RebarBandInfo#.wID& = wID&

EndProc

Proc CoolBar.RBSetcyChild

    Parameters cyChild&
    RebarBandInfo#.cyChild& = cyChild&

EndProc

Proc CoolBar.RBSetcyMaxChild

    Parameters cyMaxChild&
    RebarBandInfo#.cyMaxChild& = cyMaxChild&

EndProc

Proc CoolBar.RBSetcyIntegral

    Parameters cyIntegral&
    RebarBandInfo#.cyIntegral& = cyIntegral&

EndProc

Proc CoolBar.RBSetcxIdeal

    Parameters cxIdeal&
    RebarBandInfo#.cxIdeal& = cxIdeal&

EndProc

Proc CoolBar.RBSetlParam

    Parameters lParam&
    RebarBandInfo#.lParam& = lParam&

EndProc

Proc CoolBar.RBSetcxHeader

    Parameters cxHeader&
    RebarBandInfo#.cxHeader& = cxHeader&

EndProc

Proc CoolBar.RBSetBarInfo

    Parameters IconFile$
    Declare Iccnt%
    Declare Iczz%
    Declare hIcon&
    Iccnt%    = IconCount(IconFile$)
    .hImagelist& = ~ImageList_Create(16,16,~ILC_COLOR32 | ~ILC_MASK,500,500)
    Clear Iczz%

    WhileNot Iczz% = Iccnt%

        hIcon& = Create("hIcon",IconFile$,Iczz%)
        ~ImageList_AddIcon(.hImagelist&,hIcon&)
        Inc Iczz%

    Wend

    with RebarInfo#

        .cbSize&              = SizeOf(RebarInfo#)
        .fMask&               = ~RBIM_IMAGELIST
        .himl&                = .hImagelist&

    endwith

    SendMessage(.Handle&,~RB_SETBARINFO,0,RebarInfo#)

EndProc

Proc CoolBar.RBInsert

    SendMessage(.Handle&,(~RB_INSERTBANDA),-1,RebarBandInfo#)

EndProc

Proc CoolBar.RBFont

    Parameters Font&
    SendMessage(.Handle&,~WM_SETFONT,Font&,0)

EndProc

Proc CoolBar.RBSetStyle

    Parameters Style&
    .RBStyle& = ~SetWindowLong(.Handle&,~GWL_STYLE,Style&)
    Return .RBStyle&

EndProc

Proc CoolBar.RBGetStyle

    .RBStyle& = ~GetWindowLong(.Handle&,~GWL_STYLE)
    Return .RBStyle&

EndProc

Proc CoolBar.RBGetButtonSize

    Parameters hButton&
    .RBBtnSize& = SendMessage(hButton&,~TB_GETBUTTONSIZE,0,0)
    Return .RBBtnSize&

EndProc

Proc CoolBar.RBDispose

    Dispose RebarBandInfo#
    Dispose RebarInfo#
    ~ImageList_Destroy(.hImagelist&)

EndProc

Proc InitControls

    Dim InitCommonControls#, INITCOMMONCONTROLS

    With InitCommonControls#

        .dwSize&   = SizeOf(InitCommonControls#)
        .dwICC&    = ~ICC_ANIMATE_CLASS |
        ~ICC_BAR_CLASSES |
        ~ICC_COOL_CLASSES |
        ~ICC_DATE_CLASSES |
        ~ICC_HOTKEY_CLASS |
        ~ICC_LISTVIEW_CLASSES |
        ~ICC_PROGRESS_CLASS |
        ~ICC_TAB_CLASSES |
        ~ICC_TREEVIEW_CLASSES |
        ~ICC_UPDOWN_CLASS |
        ~ICC_USEREX_CLASSES |
        ~ICC_WIN95_CLASSES

    EndWith

    ~InitCommonControlsEx(InitCommonControls#)
    Dispose InitCommonControls#

ENDPROC

 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
10/28/06  
 




Jac
de
Lad
Oh, thanks. this is already not so bad, I probiers same time from! Perhaps can you or the community in cooperation a Unit/Inc/DLL create, the would class!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10/29/06  
 




Uwe
''Pascal''
Niemeier
Hello Jac!

already here reingeschaut:  [...]  ?

@ iF: thanks for flowers!

SeeYou
Pascal
 
10/29/06  
 




Jac
de
Lad
is me famous, but what has with the Rebar To do?
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10/29/06  
 




Uwe
''Pascal''
Niemeier
Hello Jac!


is me famous, but what has with the Rebar To do?


Perhaps the? :
...
ReBar&
=Control(ReBarWindow32,,$50000804 ,10,10,600,400,%hwnd,1,0)
struct ReBar=Size&,Mask&,Style&,clrFore&,clrBack&,lpText&,cch&,iImage&,hwndChild&,
cxMinChild&,cyMinChild&,cx&,hbmBack&,wID&,cyChild&,cyMaxChild&,cyIntegral&,
cxIdeal&,lParam&,cxHeader&
dim ReBar#,ReBar--REBARBANDINFO
...


I Have the windows-SDK, but somehow missing me there the beginning...and Hintergrundwissen.

If you always only to Fertiglösungen seek, is not verwunderlich...

SeeYou
Pascal
 
10/29/06  
 




Jac
de
Lad
I Search no Fertiglösung, but I come with dne Structures and so not clear. I try something To basteln...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10/30/06  
 




Uwe
''Pascal''
Niemeier
Hello Jac!


I try something To basteln...


very so Have I it too hingekriegt
though I zugebe, the Rebars in the point already something ardent are...
with concrete ask stand I gladly available!

SeeYou
Pascal
 
10/30/06  
 




Jac
de
Lad
Öhm, Yes, I login me with Source, if I what Brauchbares have. the of D. Jagolsky sees that's all right from.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10/31/06  
 




Jac
de
Lad
So I have both Sources probiert but no richtiges Rebar hingekriegt. the first working by me none, at second becomes only one blauer Strich prepares, but any try the Controls reinzufüllen through sendmessage and as Message RBM_InsertItem hit[ed] by me fehl...I forsche means yet...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
10/31/06  
 




Uwe
''Pascal''
Niemeier
Hello Jac!

first of all time: on which Source refer You you very?
my demonstration about DocSplitter ought to - so How she's - eigendlich walk.

here a slight vereinfachte Version (run ex XProfan 8 / Win 95):
CompileMarkSeparation
!
window 50,50-700,500
 $H Messages.ph
 $H commctrl.ph
declare ReBar&,ReBar#,Lb1&,Lb2&,a#
dim a#,16
Lb1&=create("listbox",%hwnd,"",0,0,0,0)
addstring(Lb1&,"Ich bin ListBox 1")
Lb2&=create("listbox",%hwnd,"",0,0,0,0)
addstring(Lb2&,"Ich bin ListBox 2")
clear a#
long a#,0=8
long a#,4=$FFFF---Alles initialisieren
external("comctl32.dll","InitCommonControlsEx",a#)
--Stil: $50000000 | ~CCS_NORESIZE | ~RBS_FIXEDORDER
ReBar&=Control("ReBarWindow32","",$50000804 ,10,10,600,400,%hwnd,1,0)
struct ReBar=Size&,Mask&,Style&,clrFore&,clrBack&,lpText&,cch&,iImage&,hwndChild&,
cxMinChild&,cyMinChild&,cx&,hbmBack&,wID&,cyChild&,cyMaxChild&,cyIntegral&,
cxIdeal&,lParam&,cxHeader&
dim ReBar#,ReBar--REBARBANDINFO
clear ReBar#

with ReBar#

    .Size&=80-------Grösse von ReBar#
    .Mask&=~RBBIM_STYLE | ~RBBIM_CHILD | ~RBBIM_CHILDSIZE | ~RBBIM_SIZE
    .cyMaxChild&=1--Darf nicht Null sein
    .Style&      = ~RBBS_NOGRIPPER------1. Band ohne Griff
    .cxMinChild& = 5--------------------Minimum Breite
    .cyMinChild& = height(ReBar&)-------Höhe des Bandes
    .cx&         = 100------------------Vorgabe Breite
    .hwndChild&  = Lb1&-----------------Band 1
    sendmessage(ReBar&,~RB_INSERTBAND,0,ReBar#)
    .Style&      = ~RBBS_GRIPPERALWAYS--2. Band mit Griff
    .cxMinChild& = 50-------------------Minimum Breite
    .cyMinChild& = 200------------------Höhe des Bandes
    .cx&         = 300------------------Vorgabe Breite
    .hwndChild&  = Lb2&-----------------Band 2
    sendmessage(ReBar&,~RB_INSERTBAND,1,ReBar#)

endwith

while 1

    waitinput

    if sendmessage(ReBar&,~RB_GETBARHEIGHT,0,0) > height(ReBar&)

        clear a#--"Umklappen" rückgängig, falls Gripper nach unten gezogen wurde
        sendmessage(ReBar&,~RB_SIZETORECT,0,a#)

    endif

endwhile


BTW: you have erwähnt, that You The Microsoft-SDK have - How well are your Englischkenntnisse?

HTH
Pascal
 
10/31/06  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

23.436 Views

Untitledvor 0 min.
Stringray01/05/22
Michael W.10/31/20
Rolf Koch09/06/20
Jörg Sellmeyer06/16/20
More...

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