Помогите разобраться с Microsoft Toolbar Control !
От: Obsolete  
Дата: 07.10.01 19:55
Оценка:
Положил на форму в MS Visual C++ 6.0 ActiveX компонент Microsoft Toolbar Control ver.6 и никак не могу отловить сообщение от конкретной нажатой кнопки на панели. Какое событие использовать и какой метод для этого использовать. Как вообще это сделать?

И еще. Как подключить к этому компоненту ImageList Control ???

Заранее благодарен за ответ!
Re: Помогите разобраться с Microsoft Toolbar Control !
От: IT Россия linq2db.com
Дата: 08.10.01 00:29
Оценка:
Здравствуйте Obsolete, Вы писали:

O>Положил на форму в MS Visual C++ 6.0 ActiveX компонент Microsoft Toolbar Control ver.6 и никак не могу отловить сообщение от конкретной нажатой кнопки на панели. Какое событие использовать и какой метод для этого использовать. Как вообще это сделать?


В редакторе ресурсов жмёшь на тулбаре: Правый мышь->Events->Дважды ButtonClick->задаёшь имя функции обработчика. В обработчик передаётся LPDISPATCH — это интерфейс MSComctlLib::IButton. Преобразуешь этот диспатч к этому интерфейсу и определяешь нажатую кнопку по её имени:

void CFormTemp::OnButtonClickToolbar (LPDISPATCH Button)
{
  try {
    MSComctlLib::IButtonPtr  btn(Button);
    if        (btn->Key == _bstr_t(L"FirstBtn")) {
      // ...
    } else if (btn->Key == _bstr_t(L"NextBtn")) {
      // ...
    } else ...

  } catch (_com_error& e) {
    ...
  }
}


O>И еще. Как подключить к этому компоненту ImageList Control ???


Ложишь его на туже форму, в OnInitialUpdate пишешь:

try {
  m_tbr->ImageList = m_img;
  m_tbr->Buttons->Item[&_variant_t(1)]->Image = L"First";
  m_tbr->Buttons->Item[&_variant_t(2)]->Image = L"Next";
} catch (_com_error& er) {
  // ...
}


Здесь я привожу примеры не для стандартных оберток, генерируемых MFC, а обёрток директивы #import, полученных способом, описанным в http://www.rsdn.ru/?article/?vcpp/import.xml
Автор(ы): Игорь Ткачёв
Дата: 9.03.2001

В данной статье приводится объяснение работы директивы #import
компилятора Visual C++ и даны примеры её использования с
MS Word, MS Excel, ADO DB и ActiveX Control.
.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Помогите разобраться с Microsoft Toolbar Control !
От: retalik www.airbandits.com/
Дата: 10.10.01 05:50
Оценка:
Здравствуйте IT, Вы писали:


O>>И еще. Как подключить к этому компоненту ImageList Control ???


IT>Ложишь его на туже форму, в OnInitialUpdate пишешь:


IT>
IT>try {
IT>  m_tbr->ImageList = m_img;
IT>  m_tbr->Buttons->Item[&_variant_t(1)]->Image = L"First";
IT>  m_tbr->Buttons->Item[&_variant_t(2)]->Image = L"Next";
IT>} catch (_com_error& er) {
IT>  // ...
IT>}
IT>


Во-во, а в VB работает установка проперти ImageList...

Может, кто прояснит:

http://rsdn.ru/forum/?action=message&gid=4&mid=8514&ubb=1
Автор: retalik
Дата: 10.10.01
Успехов,
Виталий.
Re[2]: Помогите разобраться с Microsoft Toolbar Control !
От: Obsolete  
Дата: 13.10.01 14:36
Оценка:
Здравствуйте IT.

Большое спасибо за ответ! Все заработало, кроме одного :(. Не подключается ImageList Control к Toolbar Control. Не мог бы ты объяснить, если не трудно, для ImageList тоже необходимо делать обертку при помощи директивы #import?

Когда я пишу строку:

m_tbr->Buttons->Item[&_variant_t(1)]->Image = L"First"

то выдает ошибку про "&_variant_t(1)" или или в раскрывающимся списке отсутствует "->Image".

Как быть?
Re[3]: Помогите разобраться с Microsoft Toolbar Control !
От: IT Россия linq2db.com
Дата: 13.10.01 20:23
Оценка:
Здравствуйте Obsolete, Вы писали:

O>Большое спасибо за ответ! Все заработало, кроме одного :(. Не подключается ImageList Control к Toolbar Control. Не мог бы ты объяснить, если не трудно, для ImageList тоже необходимо делать обертку при помощи директивы #import?


O>Когда я пишу строку:


O> m_tbr->Buttons->Item[&_variant_t(1)]->Image = L"First"


O>то выдает ошибку про "&_variant_t(1)" или или в раскрывающимся списке отсутствует "->Image".


O>Как быть?


Надо писать не '1', а '1l'. В статье об этом упоминается.
Здесь — http://www.rsdn.ru/qna/ui/axctrl/axctrl.zip рабочий пример, может быть по позже сделаем из него Q&A.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Помогите разобраться с Microsoft Toolbar Control !
От: Obsolete  
Дата: 13.10.01 21:58
Оценка:
Здравствуйте IT.

Большое спасибо за ответ! Все получилось, кроме одного — никак не могу подключить ImageList к Toolbar. Не совсем понял — для ImageList тоже нужно генерировать обертку при помощи директивы #import ?

Когда пишу строку:

m_tbr->Buttons->Item[&_variant_t(1)]->Image = L"First";

то выдает ошибку что то про "&_variant_t(1)" или нету в выпадающем списке после "->" свойства "Image". Что может быть сдесь не так? Объясни пожалуйста, если не трудно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.