![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как програмно перемещать TOOLBAR? [D7, WinXP]
юзверь © (2004-07-28 00:27:00)подскажите плиз, ненаю шо и делать, хочу запоминать настройки тулбара, и восстанавливать их при загрузке, пишу всЁ на API, несколько тулбаров (ToolBarWindow32) на ребаре (ReBarWindow32),
взять координаты могу так
SendMessage(barHWND, RB_GETRECT, SendMessage(barHWND, RB_IDTOINDEX, BAND_ID, 0), lParam(@rect));
а вот как их выставить ? при создании ненашел, там такая структура:
typedef struct tagREBARBANDINFO{
UINT cbSize;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPTSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
UINT cyChild;
UINT cyMaxChild;
UINT cyIntegral;
UINT cxIdeal;
LPARAM lParam;}
REBARBANDINFO, FAR *LPREBARBANDINFO;
я делаю так:
//add band
bar.cbSize := sizeof(tagREBARBANDINFO);
bar.fMask := RBBIM_CHILD or RBBIM_CHILDSIZE or RBBIM_ID or RBBIM_STYLE;
//zaberem razmer4iki
SendMessage(toolbarHWND, TB_GETMAXSIZE, 0, lParam(@sz));
//zadadim razmer4iki
bar.cxMinChild := sz.cx;
bar.cyMinChild := sz.cy;
bar.hwndChild := toolbarHWND;
bar.wID := BAND_ID;
bar.fStyle := RBBS_BREAK;
//dobavim band
SendMessage(barHWND, RB_INSERTBAND, wParam(-1), lParam(@bar));
пробовал играться с ентим, но шото неполучилось:
SendMessage(barHWND, RB_BEGINDRAG, wParam(band_idx), lParam(xy));
...
SendMessage(barHWND, RB_DRAGMOVE, wParam(band_idx), lParam(xy));
SendMessage(barHWND, RB_ENDDRAG, wParam(band_idx), lParam(0));
вотъ
GanibalLector (2004-07-28 02:23:00) [1]>пробовал играться
Хорошие у тя игры ))
юзверь (2004-07-28 00:32:00) [2]там в
RB_DRAGMOVEи вRB_ENDDRAG wParam = 0