Forum | | | | Jac de Lad | Hat déjà quelqu'un Erfahrung avec Rebar-Controls? nie gemacht Windows-SDK, mais irgendwie fehlt mir là qui Anfang...et 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 ▲ |
| |
| | | je crois Uwe hat qui meisten Erfahrungen avec Rebars. |
| | | | |
| | Detlef Jagolski | allô
habe aussi la fois Angefangen, ist mais pas fertig. KompilierenMarqueSéparationDeclare 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 | 28.10.2006 ▲ |
| |
| | Jac de Lad | eh, merci. c'est déjà pas mal, je probiers juste la fois aus! peut-être peux du ou bien qui Community dans Zusammenarbeit une Unit/Inc/DLL erstellen, cela wär super!
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 | allô Jac!
déjà ici reingeschaut: [...] ?
@ iF: merci pour qui Blumen!
SeeYou Pascal |
| | | | |
| | Jac de Lad | Ist mir bekannt, mais quoi hat cela avec Rebar trop 1faire? |
| | | 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 | allô Jac!
Ist mir bekannt, mais quoi hat cela avec Rebar trop 1faire?
peut-être cela? : ... 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 ...
nie gemacht Windows-SDK, mais irgendwie fehlt mir là qui Anfang...et Hintergrundwissen. si du toujours seulement pour Fertiglösungen cherchez, ist cela pas verwunderlich...
SeeYou Pascal |
| | | | |
| | Jac de Lad | je cherche aucun Fertiglösung, mais je viens avec dne Strukturen et so pas bien sûr. je versuche la fois quoi trop bricoler... |
| | | 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 | allô Jac!
je versuche la fois quoi trop bricoler...
oui c'est ca so hab je es aussi hingekriegt quoique je zugebe, cela Rebars dans dem Punkt déjà quelque chose heftig sommes... chez konkreten Fragen stehe je gern zur Disposition!
SeeYou Pascal |
| | | | |
| | Jac de Lad | Öhm, oui, je melde mich avec Source, si je quoi Brauchbares habe. cela de D. Jagolsky sieht déjà bien aus. |
| | | 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 | alors j'ai beide Sources probiert mais ne...aucune richtiges Rebar hingekriegt. cela erste funzt chez mir gar pas, beim zweiten wird seulement un blauer Strich erstellt, mais alle Versuche cela Controls reinzufüllen mittels sendmessage et comme Message RBM_InsertItem schlugen chez mir fehl...je forsche alors encore... |
| | | 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 | allô Jac!
Zunächst la fois: sur quelle Source beziehst du toi oui c'est ca? mon Demo zum Thema DocSplitter sollte - so comment vous ist - eigendlich courir.
ici une léger vereinfachte Version (courir ab XProfan 8 / Win 95): KompilierenMarqueSéparation!
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: tu as erwähnt, dass du qui Microsoft-SDK la hâte - comment bien sommes deine Englischkenntnisse?
HTH Pascal |
| | | | |
|
répondreOptions du sujet | 23.445 Views |
Themeninformationencet Thema hat 6 participant: |