Foro | | | | 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. |
| | | | |
| | Detlef Jagolski | ¡Hola
habe auch veces Angefangen, es pero no fertig. KompilierenMarcaSeparaciónDeclare 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 |
| | | | |
| | 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 |
| | | | |
| | 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 |
| | | | |
| | 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 |
| | | | |
|
RespuestaTema opciones | 23.451 Views |
ThemeninformationenDieses Thema ha 6 subscriber: |