Мой DELPHI – Программирование

Всё для программера

Как запретить изменение размера моего компонента в design-time?

Вопрос:
Как запретить изменение размера моего компонента в design-time?
Ответ:
Поместите в конструктор компонента код, устанавливающий размеры по умолчанию.
Переопределите метод SetBounds и проверяйте в нем "componentstate". Если компонет
находится режиме "design-time" (csDesigning in ComponentState) просто передавайте
значения ширины и высоты (width и heights) компонента по умолчанию (в нашем
примере 50) методу класса-предка Прочитать остальную часть записи »

Можно ли как-то уменьшить мерцание при перерисовке компонента?

Вопрос:
Можно ли как-то уменьшить мерцание при перерисовке компонента?
Ответ:
Если добавить флаг csOpaque (непрозрачный) к свойству ControlStyle компонента
- то фон компонента перерисовываться не будет.

Пример:

constructor TMyControl.Create;
begin
	inherited;
	ControlStyle := ControlStyle + [csOpaque];
end;

Как сделать клавишу-акселератор (keyboard shortcut)

Вопрос:
Как сделать клавишу-акселератор (keyboard shortcut) компонету у которого нет заголовка?

Ответ:

Возможный вариант – присвоить
ссылку на этот компонент свойству FocusControl TLabel’а. В примере используется
невидимый Label для создания “быстрой” клавиши (Alt+M) компонента Memo. Чтобы
использовать пример, разместите на форме компонет TMemo, Label и несколько других
компонентов, которые могут принимать фокус ввода. Запустите программу, перевидите
фокус ввода куда-нибудь вне Memo и нажмите Alt+M – фокус ввода вернется в Memo. Прочитать остальную часть записи »

Как программно заставить выпасть меню?

Вопрос:
Как программно заставить выпасть меню?

Ответ:

В примере показано как
показать меню и выбрать в нем какой-то пункт, эмулируя нажатие “быстрой кдавиши”
пункта меню. Если у Вашего пункта меню нет “быстрой клавиши” Вы можете посылать
комбинации VK_MENU, VK_LEFT, VK_DOWN, и VK_RETURN, чтобы программно “путешествовать”
по меню. Прочитать остальную часть записи »

Как обновить список дисков компонента TDriveComboBox

Вопрос:
Как обновить список дисков компонента TDriveComboBox, учитывая, что могуд быть
подключены/отключены сетевые диски и произведена "горячая замена" plug&play дисков?
Ответ:
Следующий пример вызывает защищенный (protected) метод класса TDriveComboBox
BuildList() для регеирации списка дисков. (использовая так наз. "class cracer") Прочитать остальную часть записи »