Вверх ↑
Этот топик читают: Гость
Ответов: 1309
Рейтинг: 48
#1: 2013-09-06 11:20:16 ЛС | профиль | цитата
Возможно ли такое? У меня в программе интерфейс состоит из одной таблицы MTstrTbl и нет места для других элементов, поэтому через контекстное меню организовал управление таблицей, нужно также встроить туда что-то вроде галочки на пункте который выбран, которую можно повторным нажатием снять или установить как checkbox.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2013-09-06 11:31:33 ЛС | профиль | цитата
В обычном -- нет. В расширенном -- можно
карма: 22

1
Голосовали:Aziz
Ответов: 1309
Рейтинг: 48
#3: 2013-09-06 14:33:48 ЛС | профиль | цитата
А состояние флажков меню можно прочитать или только через внешний эл-т Switch синхронизируемый с меню определять? Если можно пример. Просто подумал что раз в меню уже есть свой триггер флажков, зачем его дублировать. Но если нет доступа...
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 1376
Рейтинг: 198
#4: 2013-09-06 15:10:22 ЛС | профиль | цитата
Aziz,
code_31754.txt
карма: 1

1
файлы: 1code_31754.txt [2KB] [238]
Голосовали:Aziz
Разработчик
Ответов: 26305
Рейтинг: 2146
#5: 2013-09-06 15:13:30 ЛС | профиль | цитата
Вот так контролируются активные флажки

Add(MainForm,2953706,133,133)
{
Point(onMouseDown)
link(onMouseDown,14673963:doPopupHere,[])
}
Add(PopupMenuEx,14673963,224,154)
{
Menu=#5:-1111|5:-2222|5:-3333|5:-4444|5:-5555|
Bitmaps=[]
Point(onCheckItems)
Point(doCheckItems)
Point(Count)
link(MenuItemIdx,6680754:doEvent1,[])
link(onCheckItems,11367230:doAdd,[(291,167)(291,188)])
}
Add(Hub,6680754,301,154)
{
link(onEvent1,11367230:doClear,[(333,160)(333,195)])
link(onEvent2,14673963:doCheckItems,[(326,167)(326,146)(214,146)(214,181)])
}
Add(ListBox,11367230,364,182)
{
Left=10
Top=10
Width=130
Height=175
TabOrder=-1
}


foksov опередил.
карма: 22

1
Голосовали:Aziz
Ответов: 1309
Рейтинг: 48
#6: 2013-09-06 17:29:58 ЛС | профиль | цитата
Спасибо! Я пытался эти точки задействовать - но мне в голову не пришло что на вход надо подавать еще индекс меню чтобы выдало список активного пункта..
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#7: 2013-09-06 18:45:18 ЛС | профиль | цитата
Aziz писал(а):
на вход надо подавать еще индекс меню чтобы выдало список активного пункта..

Да не нужен там индекс для получения списка, просто подать событие на вход, и все

procedure TXPMenu._work_doCheckItems;
var i: Integer;
begin
if Menu.Count > 0 then
for i:=0 to Menu.Count-1 do
if (Menu.ItemText[i] <> ') and Menu.ItemChecked[i] then
_hi_onEvent(_event_onCheckItems,i);
end;

Индекс нужен только для управления самим чеком
карма: 22

0
Ответов: 1309
Рейтинг: 48
#8: 2013-09-06 19:51:18 ЛС | профиль | цитата
Да, действительно, ступил я в этой схеме проверки:

code_31755.txt
Почему-то решил что индексы выдаются сразу в потоке как строка, а не последовательно. Спасибо, nesco.
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
файлы: 1code_31755.txt [858B] [394]
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)