Помогите, пожалуйста, с Delphi
код обработчика в студию. а то на пальцах непонятно как воспроизвести этот эффект
if StringGrid3.CellRect(Sel1Col, Sel1Row).Top = 0 then ComboBox2.Visible := false;
Вот эта строчка решила проблему. Sel1Col и Sel1Row это выбранная на данный момент ячейка.
Там код с этой же проблемой...
if StringGrid3.CellRect(Sel1Col, Sel1Row).Top = 0 then ComboBox2.Visible := false;безобразие =)
Лучше бы помог сделать по-человечески.
Хотя для коленочной поделки, если только один такой объект, и так сойдёт.
Безобразие - это скорее относилось к названиям объектов.
з.ы. а почему при двойном клике?
При чем тут двойной клик?
По хорошему вообще у каждой строчки стринглиста толжна рисоваться дропдаунпопап-кнопка, и список вываливаться по одному клику на него.
Но я это всё рассуждаю в отрыве от проекта.
Да, было бы неплохо, а как на счет того, чтобы послать сообщение комбобоксу раскрыться? Только не знаю какое это сообщение...
При чём тут вообще комбобокс? Если писать свою гуёвину(как я описываю то его там быть не должно.
А вообще ответ на твой вопрос: надо поменять Tcombobox.DroppedDown свойство, или вызвать аналогичный метод, который это делает.
А вообще ответ на твой вопрос: надо поменять Tcombobox.DroppedDown свойство, или вызвать аналогичный метод, который это делает.Или отправить ему нажатие хоткея Alt+Down.
Вы батенька знаете толк в извращениях!
Вы батенька знаете толк в извращениях!Способ гораздо более универсальный. Что если у тебя будет не комбобокс, а другой подобный контрол?
Ну... да =)
Оставить комментарий
stec
У меня есть следующая проблема. Есть таблица StringGrid, при двойном нажатии на ячейку помещаю над ячейкой выпадающее меню ComboBox в событии StringGrid3DrawCell, тоже самое, что OnPaint для формы. Когда начинаешь прокручивать с помощью полосы прокрутки, все хорошо до тех пор, пока ячейка находится в пределах видимости, а дальше остается на последней видимой ячейке. Как можно проверить в пределах видимости или нет находится ячейка?