аналог tlistbox

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

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

аналог tlistbox

Сообщение minoshi » 11.02.2009 15:12:02

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

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

Добавлено спустя 32 секунды:
может есть какой обходной маневр?
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: аналог tlistbox

Сообщение B4rr4cuda » 11.02.2009 17:51:02

Предполагаю, что решение тут
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;

Только видимо константа другая.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: аналог tlistbox

Сообщение minoshi » 12.02.2009 09:29:26

переменная = (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 - это одиночное и двойное нажатие ЛЕВОЙ клавиши, хотя из названия этого не следует
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: аналог tlistbox

Сообщение Attid » 12.02.2009 11:11:49

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

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

мое ИМХО у него такое
1, чем меньше событий тем лучше, пусть там будет больше функционала. тут в чем-то правда есть.
ну и немного звездной болезни =)
2, если он считает что так лучше так и будет, вне зависимости от того что есть общепринятый стандарт.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru
cron