I'm trying to create a rebar but everything I put in it get's stretched to 100% of the rebar width, it's very weird and I can't see the problem.
I've already searched and gone over info at msdn relating to my problem and I turned up nothing that worked.
I'm using the following code to make rebars and bands:
Code:
HWND CreateReBar(HWND parent)
{
REBARINFO barInfo;
RECT rc;
HWND rebar;
rebar = CreateWindowEx(WS_EX_TOPMOST|WS_EX_TOOLWINDOW|WS_EX_LEFT|WS_EX_LTRREADING|WS_EX_RIGHTSCROLLBAR,
REBARCLASSNAME,
NULL,
WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|RBS_VARHEIGHT|CCS_TOP|CCS_NODIVIDER,
0,0,0,0,
parent,
NULL,
GetModuleHandle(NULL),
NULL);
if(!rebar)
return NULL;
barInfo.cbSize = sizeof(REBARINFO);
barInfo.fMask = 0;
barInfo.himl = (HIMAGELIST)NULL;
return rebar;
}
void CreateBand(HWND rebar,char *bandText,HWND child)
{
REBARBANDINFO bandInfo;
RECT rc;
bandInfo.cbSize = sizeof(REBARBANDINFO);
bandInfo.fMask = RBBIM_COLORS|RBBIM_TEXT|RBBIM_STYLE|RBBIM_CHILD|
RBBIM_CHILDSIZE|RBBIM_SIZE;
bandInfo.fStyle = RBBS_CHILDEDGE|RBBS_GRIPPERALWAYS;
bandInfo.clrFore = RGB(0,0,0);
bandInfo.clrBack = GetSysColor(COLOR_BTNFACE);
GetClientRect(child,&rc);
bandInfo.lpText = bandText;
bandInfo.cch = lstrlen(bandInfo.lpText);
bandInfo.hwndChild = child;
bandInfo.cxMinChild = 20;
bandInfo.cyMinChild = rc.bottom - rc.top;
bandInfo.cx = 50;
SendMessage(rebar,RB_INSERTBAND,(WPARAM)-1,(LPARAM)&bandInfo);
}