Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) MSComctlLib.Toolbar (число прочтений - 9053 )
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
MSComctlLib.Toolbar
16. Ноября 2007 :: 10:09
Печать  
Можно  узнать в событии MouseDown
над каким объектом Button находился курсор в момент события?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #1 - 16. Ноября 2007 :: 10:40
Печать  
Видимо както так:
Код
Выбрать все
Процедура MouseDown(Button, Shift , x , y)
	Для к = 1 По Сам().Объект.Buttons.Count Цикл
		Если (x >= Сам().Объект.Buttons.item(к).Left)  и (x <= Сам().Объект.Buttons.item(к).Left +
			  Сам().Объект.Buttons.item(к).Width) и (y >= -Сам().Объект.Buttons.item(к).Top)
			 и (y <= -Сам().Объект.Buttons.item(к).Top -  Сам().Объект.Buttons.item(к).Height)
		Тогда
			Сообщить(Сам().Объект.Buttons.item(к).Key);

		КонецЕсли;
КонецПроцедуры
 

  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #2 - 16. Ноября 2007 :: 11:14
Печать  
А на кой в MouseDown?
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #3 - 16. Ноября 2007 :: 11:17
Печать  
Arta писал(а) 16. Ноября 2007 :: 11:14:
А на кой в MouseDown?


Вызываю процедуру по таймеру пока кнопка нажата
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #4 - 16. Ноября 2007 :: 11:34
Печать  
Для вызова меню?
Какую цель преследуешь?



P.S. и почему в этом разделе? вроде тема не для этого раздела.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #5 - 16. Ноября 2007 :: 11:38
Печать  
Arta писал(а) 16. Ноября 2007 :: 11:34:
Для вызова меню?
Какую цель преследуешь?


P.S. и почему в этом разделе? вроде тема не для этого раздела.


Скроллинг ТП

P.S. Ну может паравильнее былоб в "1С++, TurboMD и прочие вкусности", хотя отношение он к ним имеет побочное
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #6 - 16. Ноября 2007 :: 11:42
Печать  
Если скролишь, значит кнопок много. Не проще с тулбарами использовать выпадающее меню? Там есть встроенное.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #7 - 16. Ноября 2007 :: 11:46
Печать  
Arta писал(а) 16. Ноября 2007 :: 11:42:
Если скролишь, значит кнопок много. Не проще с тулбарами использовать выпадающее меню? Там есть встроенное.


Скролю табличное поле, причём здесь меню?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: MSComctlLib.Toolbar
Ответ #8 - 16. Ноября 2007 :: 11:54
Печать  
А, я проглядел "ТП".

Да не, ничего, скроль, кто тебе мешает Улыбка
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: MSComctlLib.Toolbar
Ответ #9 - 03. Июля 2009 :: 20:29
Печать  
Можно ли изменить высоту тулбара и высоту кнопок MSComctlLib.ToolBar?
И еще вопрос: почему не работают свойства, н-р, Height. Если верить этому http://msdn.microsoft.com/en-us/library/aa443490(VS.60).aspx, то .Height вроде как есть, или я не там смотрю?
Код
Выбрать все
Перем msToolBarCtrl,ActiveX;

//======================================
Процедура ПослеОткрытия()

	ActiveX   = СоздатьОбъект("ActiveX");

	ActiveX.УстановитьАтрибут(Форма, "кнToolBar");

	msToolBarCtrl = ActiveX.СоздатьЭУ("MSComctlLib.ToolBar");


	msToolBarCtrl.Appearance    = 1;
	msToolBarCtrl.Style         = 1;
	//это все бесполезно, высота тулбара/размеры кнопок не меняются>>>
	//msToolBarCtrl.Height  = 600;//Поле агрегатного объекта не обнаружено (Height)
	//msToolBarCtrl.Container.Height = 600;//Поле агрегатного объекта не обнаружено (Container)
	//msToolBarCtrl.Parent.Height = 600;//Поле агрегатного объекта не обнаружено (Parent)
	//msToolBarCtrl.Move(0,0,1000,600);//Поле агрегатного объекта не обнаружено (Move)

	//РасширениеФормы = СоздатьОбъект("РасширениеФормы");
	//
	//кнToolBarАтр = РасширениеФормы.ПолучитьАтрибут("кнToolBar");
	//кнToolBarАтр.УстановитьКоординаты(0,0,РасширениеФормы.Ширина,600);
	//это все бесполезно, высота тулбара/размеры кнопок не меняются<<<

	msToolBarCtrl.ButtonHeight  = 900;//не ругается, но размер не меняет

	msToolBarCtrl.Buttons.Add(1, "тест1", "", 0,);

	msToolBarCtrl.ButtonHeight  = 900;//не ругается, но размер не меняет
КонецПроцедуры	// ПослеОткрытия 

  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: MSComctlLib.Toolbar
Ответ #10 - 05. Июля 2009 :: 13:21
Печать  
Попробуй  поиграться с высотой картинок для тулбара:

Код
Выбрать все
ImageList=СоздатьОбъект("MSComctlLib.ImageListCtrl");
ImageList.ImageHeight  = 32;
ImageList.ImageWidth   = 32;
......//тута пихаем в ImageList картинки
ТулБар.ImageList = ImageList; 

  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: MSComctlLib.Toolbar
Ответ #11 - 05. Июля 2009 :: 19:01
Печать  
дак в том то и дело, что под высоту картинок высота тулбара автоматически подстраивается. Но картинки я натырил из 1crcrus.dll. Нехочется их редактироватьУлыбка Но визиально высота тулбара(не кнопок, а именно тулбара - заметно, если msToolBarCtrl.Appearance = 1) чуть меньше, чем высота стандартных 1Совских панелей. Заметна разница, хотелось сделать один в один.
Ну да ладно, похоже дело в самом контроле, поставил Appearance = 0 и фик с нимУлыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать