Forum | | | | 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. |
| | | | |
| | Detlef Jagolski | Hello
have too time started, is not ready. CompileMarkSeparationDeclare 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 |
| | | | |
| | 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 |
| | | | |
| | 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 |
| | | | |
| | 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 |
| | | | |
|
AnswerTopic-Options | 23.449 Views |
Themeninformationenthis Topic has 6 subscriber: |