Español
Foro

Das Rebar-Control

 

Jac
de
Lad
Sombrero ya alguien Erfahrung con Rebar-Controls? Yo el Windows-SDK, aber irgendwie fehlt me como el Anfang...y 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
28.10.2006  
 



Yo glaube Uwe ha el meisten Erfahrungen con Rebars.
 
28.10.2006  
 




Detlef
Jagolski
¡Hola

habe auch veces Angefangen, es pero no fertig.
KompilierenMarcaSeparación
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#)
    Disponer InitCommonControls#

ENDPROC

 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
28.10.2006  
 




Jac
de
Lad
Oh, danke. Es ya no schlecht, Yo probiers igual veces de! Tal vez kannst du o Comunidad en Zusammenarbeit una Unit/Inc/DLL redactar, el wär klasse!

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
29.10.2006  
 




Uwe
''Pascal''
Niemeier
¡Hola Jac!

Schon hier reingeschaut:  [...]  ?

@ IF: Gracias para el Blumen!

SeeYou
Pascal
 
29.10.2006  
 




Jac
de
Lad
Ist me bekannt, aber qué ha el con Rebar a tun?
 
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
29.10.2006  
 




Uwe
''Pascal''
Niemeier
¡Hola Jac!


Ist me bekannt, aber qué ha el con Rebar a tun?


Tal vez el? :
...
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
...


Yo el Windows-SDK, aber irgendwie fehlt me como el Anfang...y Hintergrundwissen.

Wenn du siempre sólo después de Fertiglösungen sucht, es el no verwunderlich...

SeeYou
Pascal
 
29.10.2006  
 




Jac
de
Lad
Yo búsqueda no Fertiglösung, pero yo komme con dne Estructuras y así no está claro. Yo versuche algo a remendar...
 
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
30.10.2006  
 




Uwe
''Pascal''
Niemeier
¡Hola Jac!


Yo versuche algo a remendar...


Exactamente así tener Yo auch hingekriegt
Obwohl Yo zugebe, el Rebars en el Punkt ya algo heftig son...
En konkreten Fragen stehe Yo gern disponible!

SeeYou
Pascal
 
30.10.2006  
 




Jac
de
Lad
Öhm, sí, Yo melde mich con Source, si yo qué Brauchbares habe. Das de D. Jagolsky sieht ya bien de.
 
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
31.10.2006  
 




Jac
de
Lad
Also Yo beide Sources probiert aber kein richtiges Rebar hingekriegt. Das erste funzt en me nada, beim zweiten se sólo una blauer Strich erstellt, aber todos Versuche el Controls reinzufüllen mittels sendmessage y como Message RBM_InsertItem schlugen en me fehl...Yo forsche also todavía...
 
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
31.10.2006  
 




Uwe
''Pascal''
Niemeier
¡Hola Jac!

Zunächst veces: en welche Fuente beziehst du dich genau?
Mi Demo para Thema DocSplitter debería - como ellos es - eigendlich laufen.

Hier una ligeramente vereinfachte Versión (lauffähig de XProfan 8 / Win 95):
KompilierenMarcaSeparación
!
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: Usted hast erwähnt, dass du el Microsoft-SDK hast - como bien son deine Englischkenntnisse?

HTH
Pascal
 
31.10.2006  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

23.457 Views

Untitledvor 0 min.
Stringray05.01.2022
Michael W.31.10.2020
Rolf Koch06.09.2020
Jörg Sellmeyer16.06.2020
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie