А есть в mse аналог дельфийского tlistbox? Всю политру просмотрел, но не нашел. или мне не по глазам?
Добавлено спустя 28 минут 2 секунды:
проблема собственно вот в чем:
tlistbox впринципе может быть заменен tstringgrid c одном колонкой, но у него нет свойства onclick т.е. у меня не получается отследить нажатие на определенной ячейке с получить значение этой ячейки
Добавлено спустя 32 секунды:
может есть какой обходной маневр?
аналог tlistbox
Модератор: Модераторы
Предполагаю, что решение тут
Только видимо константа другая.
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;
Только видимо константа другая.
переменная = (ccr_buttonpress,ccr_dblclick,ccr_nodefaultzone,ccr_nokeyreturn);
где ccr_buttonpress = одиночный клик, что нам и требуется
несовсем понял мартина, для чего отлавливать нажатие мыши через oncellevent, а не через собственное событие(например onclick), как в lazarus/delphi. Может, кто въехал в философию MSE, объяснит?
Добавлено спустя 3 минуты 22 секунды:
Р.S. для начинающих решение вышеуказанной задачи:
Добавлено спустя 2 минуты 23 секунды:
Тут несмного поэксперементировал:
ccr_buttonpress,ccr_dblclick - это одиночное и двойное нажатие ЛЕВОЙ клавиши, хотя из названия этого не следует
где 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
- Контактная информация:
minoshi писал(а):Может, кто въехал в философию MSE, объяснит?
это только деби может =)
мое ИМХО у него такое
1, чем меньше событий тем лучше, пусть там будет больше функционала. тут в чем-то правда есть.
ну и немного звездной болезни =)
2, если он считает что так лучше так и будет, вне зависимости от того что есть общепринятый стандарт.
