Вверх ↑
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
#1: 2007-05-29 00:43:36 ЛС | профиль | цитата
Если в редакторе массива компонента ToolBar указать ^=Файл, то появится стрелка для выпадающего списка, а можно ли создать сам выпадающий список?



[size=-2]------ Добавлено в 00:43
Кто-нибудь что-нибудь может сказать?
карма: 0
%time%
0
файлы: 1TB.jpg [972B] [311]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2007-05-30 14:34:03 ЛС | профиль | цитата
скорей всего, что нельзя. Из среды во всяком случае
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#3: 2007-05-30 15:31:48 ЛС | профиль | цитата
0
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-05-30 16:05:26 ЛС | профиль | цитата
nesco писал(а):
Я скажу, что можно, но надо доделывать компонент

nesco, под словом "нельзя" уже давно понимается отсутствие данной возможности в рамках стандартных элементов и простых решений. Иначе любой подобный вопрос теряет смысл поскольку сделать-то на самом деле можно все.
карма: 27
0
Ответов: 3655
Рейтинг: 69
#5: 2007-05-30 16:14:30 ЛС | профиль | цитата
nesco писал(а):
Надо определиться, что конкретно надо вызывать.

А что можно
Я понимаю так всунуть туда PopupMenu и пусть вываливается при клике на стрелку.
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#6: 2007-05-30 16:16:17 ЛС | профиль | цитата
Dilma писал(а):
простых решений

А что, добавить событие OnDropDown и выдать координаты нажатой кнопки много кода надо вписать? А в принципе, мне до барабана, не я предлагал. Пока не будет конкретной задачи и пальцем не пошевелю, пусть все остается как есть.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2007-05-30 16:32:52 ЛС | профиль | цитата
nesco, ну давай разбираться:
1) нужно вставить обработчик OnDropDown, который сразу же расползется на все программы, не нуждающиеся в выпадающем меню
2) не забыть про то, что кнопка может быть вовсе не одна и что реализовывать PopupMenu внутри компонента смысла не имеет
3) учитывая предыдущий пункт придумать интерфейс, по которому этот обработчик будет реализовываться на пользовательском уровне через соединение с компонентом PopupMenu и правильно передавать кнопку(имя, индекс или еще что) и координаты(в виде X и Y, в виде y*65536 + x или еще что).
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#8: 2007-05-30 17:04:44 ЛС | профиль | цитата
Dilma, я думал совсем по другому:
1. Внутри компонента реализовываем обработчик OnTBDropDown. Нафиг он никому не нужен больше.
2. Выдаем на нижние точки координаты левого нижнего угла кнопки.
3. Выставляем событие OnDropDown с индексом нажатой кнопки.
А вот дальше пользователь пусть лепит любые компоненты к этой координатной точке, преобразовывывая координаты во что ему угодно будет.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#9: 2007-05-30 17:28:29 ЛС | профиль | цитата
nesco писал(а):
я думал совсем по другому

а я чего-то разницы и не увидел
никакой почти

Попробую "перевести" его ОСНОВНУЮ мысль из предыдущего поста:

Он хочет вдолбить тебе в голову, что "который сразу же расползется на все программы" - означает наличие ЛИШНЕГО кода в программах тех пользователей, которые никогда шляпу в ToolBar не ставили, и знать про нее не знают.
И, предположим, и знать не хотят, но коды дополнительные - ПОЛУЧАТ все равно.

И мысль его основная такова, что это неизбежно в сегодняшней схеме кодогенерации при введении (не важно - подключены или нет) дополнительных правых и верхних точек.

И хочет он обратить твое внимание на то, что такое может быть устранено лишь в схемех кодогенерации типа WEB или FASM

И расстраивается, наверное, что вместо того, чтобы вопросы задавать по этим схемам кодогенерации (то, что там тебе сразу все понятно - поверить невозможно), ты очередную вершину "рисования осваиваешь"


карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2007-05-30 17:54:49 ЛС | профиль | цитата
Galkov писал(а):
а я чего-то разницы и не увидел

если забыть сейчас про все остальное, то разница таки между наскоро предложенным интерфейсом:
nesco писал(а):
2. Выдаем на нижние точки координаты левого нижнего угла кнопки.
3. Выставляем событие OnDropDown с индексом нажатой кнопки.

и более удобным с точки зрения пользователя - есть. Положим, если наибольшая часть подключений будет такова, что пользователь захочет узнать какую кнопку нажали и затем вывести соответствующее ей меню, то правильнее было б выдавать данные в виде МТ из двух вагонов:
<координаты в виде Y*65536 + X><индекс/имя точки>

тогда вся конструкция обойдется пятеркой элементов:
Add(PopupMenu,14324213,420,442)
{
}
Add(Case,9794282,308,435)
{
link(onTrue,16384915:doData,[])
}
Add(MT_Get,14258471,203,435)
{
link(onData,9794282:doCase,[])
link(onGet,1991660:doValue,[])
}
Add(Memory,1991660,259,442)
{
}
Add(DoData,16384915,364,442)
{
link(onEventData,14324213:doPopup,[])
link(Data,1991660:Value,[(370,432)(328,432)(328,484)(265,484)])
}

а если меню всего одно, то схема становится тривиальной до невозможности: соединяем точку OnTBDropDown нашего ToolBar с точкой doPopup нужного меню. И все.

Вот собственно этому и стоило посвятить основное время в решение вопроса, а:
nesco писал(а):
...добавить событие OnDropDown и выдать координаты нажатой кнопки...

это извините каждый может
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#11: 2007-05-30 18:06:34 ЛС | профиль | цитата
Galkov, ты чего на меня бочку покатил. Я вообще ничего тут не предлагал и уже успел заметить, что обработчик OnDropDown выключен. Да и черт бы с ним, мне он лично не нужен. А разница, все же была -- я не предлагал втыкать PopUpMenu( да и никакой контрол) внутрь компонента, именно потому, что кнопок может быть много. То, что ты написал, может и будет, но не завтра.

[size=-2]------ Добавлено в 18:06
Dilma писал(а):
захочет узнать какую кнопку нажали и затем вывести соответствующее ей меню

А если он захочет активизировать ComboBox, то ему нужны будут уже не сжатые <координаты в виде Y*65536 + X>
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#12: 2007-05-30 18:08:56 ЛС | профиль | цитата
nesco писал(а):
А если он захочет активизировать ComboBox

это как?
карма: 27
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#13: 2007-05-30 18:15:52 ЛС | профиль | цитата
Dilma, кинуть на форму Combobox и сделать ему Visible=False, а по этой кнопке установить ему координаты вывода на экран и сделать Visible=True, а после ввода -- опять скрыть. И всеравно это чертово событие не выдается, так что разговор, пока, беспредметный. Я пробовал его прикрутить -- нифига...
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2007-05-30 18:40:57 ЛС | профиль | цитата
nesco писал(а):
кинуть на форму Combobox и сделать ему Visible=False, а по этой кнопке установить ему координаты вывода на экран и сделать Visible=True

ни разу не встречал такое использование элемента...
карма: 27
0
Ответов: 3655
Рейтинг: 69
#15: 2007-05-30 19:47:56 ЛС | профиль | цитата
Dilma писал(а):
ни разу не встречал такое использование элемента...

Толи ещё будет о ё ёй
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)