Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 20:47   #1
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию WINAPI ToolBar

Народ помогите с Toolbar`ом. Вот код создания Toolbar`а:

Код:
InitCommonControls();
		
		int CountButtons = 1;
		TBBUTTON tbButtons;
		tbButtons.dwData = 0;
		tbButtons.fsState = TBSTATE_ENABLED;
		tbButtons.fsStyle = TBSTYLE_BUTTON;
		tbButtons.iBitmap = 1;
		tbButtons.idCommand = 10;
		tbButtons.iString = (INT_PTR)L"TEST";

		h = CreateWindow(TOOLBARCLASSNAME,0,WS_CHILD|WS_VISIBLE|WS_BORDER,0,0,0,0,hWnd,(HMENU)20,0,0);
		
		HIMAGELIST hImageList = ImageList_Create(16,16,ILC_COLOR,CountButtons,0);
		HBITMAP BTest = LoadBitmap(0,MAKEINTRESOURCE(IDR_TOOLBAR2));
		ImageList_Add(hImageList,BTest,0);
		SendMessage(h,TB_SETIMAGELIST,0,(LPARAM)hImageList);

		SendMessage(h,TB_SETBITMAPSIZE,0,MAKELPARAM(16,16));
		SendMessage(h,TB_SETBUTTONSIZE,0,MAKELPARAM(16,16)); 
		SendMessage(h,TB_BUTTONSTRUCTSIZE,sizeof(TBBUTTON),0);
		SendMessage(h,TB_ADDBUTTONS,CountButtons,(LPARAM)&tbButtons);
		SendMessage(h,TB_AUTOSIZE,0,0);
Проблема в том что Toolbar создается, создается кнопка с надписью, а вот иконка не появляется. Иконку создавал с помощью редактора ресурсов в Visual Studio 2010,
Размеры 16х16
Цвет: 4bit
Формат: BMP
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 27.11.2012, 21:12   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Вопрос снят. Надо было указать HINSTANCE программы,а я поставил 0
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 28.10.2013, 12:38   #3
mestnyi
 
Регистрация: 18.01.2012
Сообщений: 3
По умолчанию

А как обрабатывать событие на тулбаре, имеется в виду как узнать что нажали на кнопку?
mestnyi вне форума Ответить с цитированием
Старый 28.10.2013, 14:32   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Вроде hWnd должен получить WM_COMMAND с idCommand в качестве команды.
waleri вне форума Ответить с цитированием
Старый 29.10.2013, 07:59   #5
mestnyi
 
Регистрация: 18.01.2012
Сообщений: 3
По умолчанию

спасибо, разобрался вот так:
Код:
Select msg
     Case #WM_COMMAND
      If lParam=ToolBarID(0)
        Select wParam & $FFFF
         Case 1
mestnyi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различие кода mfc и WinApi(mfc ручками набили, а WinApi автоматически с генерировался!! нужно явное отличие, не могу найти) Артём1991 Помощь студентам 0 25.03.2012 17:13
Toolbar Angel86rus Общие вопросы Delphi 5 15.02.2012 13:37
toolbar Кристинка89 Общие вопросы Delphi 4 20.02.2011 22:36
ToolBar чижик-пыжик Общие вопросы .NET 0 08.12.2009 18:22
ToolBar XPAiN Компоненты Delphi 1 31.10.2008 12:49