Страница 1 из 1

аналог tlistbox

СообщениеДобавлено: 11.02.2009 15:12:02
minoshi
А есть в mse аналог дельфийского tlistbox? Всю политру просмотрел, но не нашел. или мне не по глазам?

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

Добавлено спустя 32 секунды:
может есть какой обходной маневр?

Re: аналог tlistbox

СообщениеДобавлено: 11.02.2009 17:51:02
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;

Только видимо константа другая.

Re: аналог tlistbox

СообщениеДобавлено: 12.02.2009 09:29:26
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 - это одиночное и двойное нажатие ЛЕВОЙ клавиши, хотя из названия этого не следует

Re: аналог tlistbox

СообщениеДобавлено: 12.02.2009 11:11:49
Attid
minoshi писал(а):Может, кто въехал в философию MSE, объяснит?

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

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