аналог tlistbox

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Ответить
Аватара пользователя
minoshi
постоялец
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

аналог tlistbox

Сообщение minoshi »

А есть в mse аналог дельфийского tlistbox? Всю политру просмотрел, но не нашел. или мне не по глазам?

Добавлено спустя 28 минут 2 секунды:
проблема собственно вот в чем:
tlistbox впринципе может быть заменен tstringgrid c одном колонкой, но у него нет свойства onclick т.е. у меня не получается отследить нажатие на определенной ячейке с получить значение этой ячейки

Добавлено спустя 32 секунды:
может есть какой обходной маневр?
Аватара пользователя
B4rr4cuda
энтузиаст
Сообщения: 693
Зарегистрирован: 28.12.2007 06:48:35

Сообщение B4rr4cuda »

Предполагаю, что решение тут
debi12345 писал(а):// Ловля двойного клика :
// в пределах всего грида - хук на OnCellEvent
// в пределах конкретного столбца - хук на datacols[N].OnCellEvent

procedure tmainfo.cellevent(const sender: TObject; var info: celleventinfoty);
begin
if iscellclick(info,[ccr_dblclick]) then showmessage('Double clicked','msg');
end;

Только видимо константа другая.
Аватара пользователя
minoshi
постоялец
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Сообщение minoshi »

переменная = (ccr_buttonpress,ccr_dblclick,ccr_nodefaultzone,ccr_nokeyreturn);

где ccr_buttonpress = одиночный клик, что нам и требуется

несовсем понял мартина, для чего отлавливать нажатие мыши через oncellevent, а не через собственное событие(например onclick), как в lazarus/delphi. Может, кто въехал в философию MSE, объяснит?

Добавлено спустя 3 минуты 22 секунды:
Р.S. для начинающих решение вышеуказанной задачи:

Код: Выделить всё

procedure tmainfo.cellevent(const sender: TObject; var info: celleventinfoty);
var s : string;
begin
 if iscellclick(info,[ccr_buttonpress]) then
 begin
  s := tstringgrid1[0][tstringgrid1.row];
  showmessage(s);
end;


Добавлено спустя 2 минуты 23 секунды:
Тут несмного поэксперементировал:
ccr_buttonpress,ccr_dblclick - это одиночное и двойное нажатие ЛЕВОЙ клавиши, хотя из названия этого не следует
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

minoshi писал(а):Может, кто въехал в философию MSE, объяснит?

это только деби может =)

мое ИМХО у него такое
1, чем меньше событий тем лучше, пусть там будет больше функционала. тут в чем-то правда есть.
ну и немного звездной болезни =)
2, если он считает что так лучше так и будет, вне зависимости от того что есть общепринятый стандарт.
Ответить