Справочник за компоненти на Delphi

Написано на 15 септември 2006 г. Публикувано в Delphi

СЪДЪРЖАНИЕ

Активност и видимост на контролите

Дейността на даден елемент му позволява да получава и обработва съобщения от клавиатурата, мишката и таймера. Определя се от свойството:

Стойността True прави контролата активна. Когато състоянието Enabled се промени, то се преначертава на екрана, в който пасивните елементи, като правило, се показват в сив цвят.

Свойство, което определя дали даден елемент може да бъде видим по време на изпълнение:

По време на разработката всички компоненти са видими. Можете да промените това свойство директно по време на изпълнение, като използвате следните два метода:

Спомнете си, че тъй като Visible е свойство, visible: =True не е просто присвояване. Той имплицитно съдържа всички необходими операции за показване на контрола. Същото важи и за всички други свойства на компонентите, реакцията на промяната на които трябва да настъпи незабавно.

Защо по-горе беше използвана формулировката „възможност за видимост“, а не „видимост“? За да бъде даден елемент видим на екрана, само стойността на свойството Visible не е достатъчна. Искате всички предшественици на елемента в йерархията да бъдат видими. В действителност видимостта на даден елемент може да бъде намерена чрез свойството:

Това свойство се задава при промяна на свойството Visible. Той е само за четене. Трябва да имате предвид, че когато видимостта на родителския елемент се промени, Showing не се променя и може в даден момент да не съответства на истинското състояние. Актуализира състоянието на свойството Показване за компонента на метода:

Следните методи "управляват" чертежа (промяна на изображението на екрана) на контролния елемент:

procedure Invalidate;Изобразява компонента чрез извикване на API функцията InvalidateRect.
актуализация на процедурата;Предоставя допълнителни операции, изисквани от Windows при рендиране на прозорец. За прозоречни компоненти, например, той извиква функцията UpdateWindow.

Този метод съчетава предишните два. Ако контролата е непрозрачна (има флага csOpaque), първо се изчиства правоъгълникът, който заема.