Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты
Лидеры категории
Лена-пена Лена-пена
Искусственный Интеллект
М.И. М.И.
Искусственный Интеллект
Y.Nine Y.Nine
Искусственный Интеллект
king71alex Куклин Андрей Gentleman Dmitriy •••

Кто знаком с WinApi и Radasm ?

Великий Шушпанчик Мудрец (12432), закрыт 13 лет назад
Создал диалоговое окно, поместил на него менюшку, с менюшкой все оказалось просто: в редакторе диалога просто прописал ему пункт Menu=mm.mnu.

Далее мне нужно поместить туда ToolBar, все компилируется и запускается, и ToolBar есть, но без кнопок
Зато в комплекте с Radasm есть TbrCreator, но ни у диалога ни у тулбара нету пункта чтобы я указал файл с созданным Тулбаром. Приведите пример кода как с ним правильно работать. Или подскажите что я делаю не так.
Лучший ответ
Денис Евдоченко Мыслитель (8379) 13 лет назад
на с++ вырезка кода о тулбаре
PolToolBr_ToolCn = CreateWindowEx(WS_EX_WINDOWEDGE, TOOLBARCLASSNAME,0
,WS_CHILD | WS_TABSTOP | TBSTYLE_WRAPABLE | TBSTYLE_TRANSPARENT,
0, 20,0,0,hWnd,(HMENU)IDC_PTW_ToolContr,0,0);

/////////////////////////////////////////////////////////////////////
//....ОФОРМЛЕНИЕ ТУЛ БАР КОНТРОЛ.... //
hPlTBC_imgList = ImageList_LoadImage(GetModuleHandle(0),MAKEINTRESOURCE(IDC_BITMAP3),
16,8,RGB(255,0,255), IMAGE_BITMAP, LR_DEFAULTCOLOR | LR_LOADTRANSPARENT);

SendMessage(PolToolBr_ToolCn,TB_SETIMAGELIST,0,(LPARAM)hPlTBC_imgList);
SendMessage(PolToolBr_ToolCn,TB_SETMAXTEXTROWS,0,0);//Кнопки без текста

for(int CrTBTV = 0; CrTBTV < 13; CrTBTV ++) {
PolTB_NewBut[CrTBTV].iBitmap = CrTBTV;
PolTB_NewBut[CrTBTV].idCommand = (110+CrTBTV);
PolTB_NewBut[CrTBTV].fsState = TBSTATE_ENABLED;
PolTB_NewBut[CrTBTV].fsStyle = BTNS_BUTTON | BTNS_AUTOSIZE;
PolTB_NewBut[CrTBTV].dwData = 0;
PolTB_NewBut[CrTBTV].iString = 0;
}
SendMessage(PolToolBr_ToolCn,TB_BUTTONSTRUCTSIZE,sizeof TBBUTTON, 0);
SendMessage(PolToolBr_ToolCn,TB_ADDBUTTONS,13,(LPARAM)&PolTB_NewBut[0]);

PolTB_NewBut[0].iBitmap = 13;
PolTB_NewBut[0].idCommand = (110+14);
PolTB_NewBut[0].fsState = TBSTATE_ENABLED;
PolTB_NewBut[0].fsStyle = BTNS_BUTTON | BTNS_AUTOSIZE | BTNS_DROPDOWN ;
PolTB_NewBut[0].dwData = 0;
PolTB_NewBut[0].iString = 0;
SendMessage(PolToolBr_ToolCn,TB_ADDBUTTONS,1,(LPARAM)&PolTB_NewBut[0]);

SendMessage(PolToolBr_ToolCn,TB_SETSTATE,111,TBSTATE_PRESSED | TBSTATE_ENABLED);

for(short i = 112; i <123; i++) {
SendMessage(PolToolBr_ToolCn,TB_SETSTATE,i,0);
}

SendMessage(PolToolBr_ToolCn,TB_AUTOSIZE,0,0);
SendMessage(PolToolBr_ToolCn,WM_SETFONT,(WPARAM)hDefContrFont,0);
ShowWindow(PolToolBr_ToolCn,SW_SHOW);
SendMessage((HWND)hMainWindow,TW_SetTool,2,0);

смысл в том, что надо загрузить рисунок с несколькими кнопками, с каким-нить цветом для прозрачности.
указать размер структуры о кнопках.

добавить кнопки с id картинки.

и по завершению указать, что пусть он сам установит автоматом разиер кнопок.
Великий ШушпанчикМудрец (12432) 13 лет назад
Т.е. если я правильно понял ТулБар создается в RunTime а не на уровне создания ресурсов программы (как это с менюшкой) ?
Денис ЕвдоченкоМыслитель (8379) 13 лет назад
ну я такого не встречал, вроде, в ранТайме только
Остальные ответы
Похожие вопросы