Вопрос:
Как узнать размеры TComboBox с показанным выпадающим списком до показа списка?
Ответ:
На событии FormShow пошлите
сообщение CB_SHOWDROPDOWN в ComboBox дважды – один раз чтобы заставить список
выпасть, второй – чтобы убрать его. Затем пошлите сообщение CB_GETDROPPEDCONTROLRECT,
передав в качестве параметра адрес TRect. TRect будет содержать экранные кординаты
прямоугольника описывающего ComboBox вместе с выпавшим списком. Затем Вы можете
вызвать ScreenToClient чтобы преобразовать экранные кординаты в координаты клиентской
области окна. Read the rest of this entry »
Вопрос:
Как показывать нестандартный встроенный редактор (inplace editor) в ячейке stringgrid (например combobox).
Ответ:
См. пример Read the rest of this entry »
Вопрос:
Как опеделить состояние списка ComboBox, выпал/скрыт?
Ответ:
Пошлите ComboBox сообщение CB_GETDROPPEDSTATE.
Пример:
if SendMessage(ComboBox1.Handle, CB_GETDROPPEDSTATE,0,0) = 1 the
begin {список ComboBox выпал}
Read the rest of this entry »
Урок 7: Свойства в Delphi
Содержание урока 7:
Обзор
Управление свойствами визуальных компонент в режиме
выполнения
Программа SHAPEDEM2
Заключение
- Обзор
Каждый компонент, который Вы помещаете на форму, имеет свое отражение
в окне Инспектора Объектов (Object Inspector). Как Вы помните, Object Inspector
имеет две “странички” – “Properties” (Свойства) и “Events” (События). Создание
программы в Delphi сводится к “нанесению” компонент на форму (которая,
кстати, также является компонентом) и настройке взаимодействия между ними
путем:
- изменения значения свойств этих компонент
- написания адекватных реакций на события.
Более подробно события мы рассмотрим
на следующем уроке, а сейчас сосредоточимся на свойствах и, в меру необходимости,
затронем создание откликов на события.
Как Вы уже успели, наверное,
заметить, свойство является важным атрибутом компонента. Для пользователя
(программиста) свойство выглядит как простое поле какой-либо структуры,
содержащее некоторое значение. Однако, в отличие от “просто” поля, любое
изменение значения некоторого свойства любого компонента сразу же приводит
к изменению визуального представления этого компонента, поскольку свойство
инкапсулирует в себе методы (действия), связанные с чтением и записью этого
поля (которые, в свою очередь, включают в себя необходимую перерисовку).
Свойства служат двум главным целям. Во-первых, они определяют внешний вид
формы или компонента. А во-вторых, свойства определяют поведение формы
или компонента. Read the rest of this entry »