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

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

Вопрос:

При перемещении фокуса
ввода клавишей Tab чтобы переместить его в RadioGroup нужно нажать клавишу Tab
дважды если какой нибудь пункт RadioGroup уже выбран, но только один раз если
не выбран. Можно ли сделать поведение RadioGroup логичным?

Ответ:

Установка свойства RadioGroup’ы
TabStop в false должна решить эту проблему – поскольку клавиша tab будет продолжать
работать – перемещаясь сразу на выделенный пункт RadioGroup.

Как выполнить какой-то процесс тогда, когда пользователь не работает с моим приложением?

Вопрос:
Как выполнить какой-то процесс тогда, когда пользователь не работает с моим приложением?

Ответ:
Создайте процедуру, которая будет вызываться при событии Application.OnIdle.

Обьявим процедуру:
{Private declarations}
procedure IdleEventHandler(Sender: TObject; var Done: Boolean);

В разделе implementation опишем поцедуру:

procedure TForm1.IdleEventHandler(Sender: TObject; var Done: Boolean);
begin
	{Do a small bit of work here}
	Done := false;
end;

В методе Form'ы OnCreate - укажем что наша процедура вызывается на событии
Application.OnIdle.

Application.OnIdle := IdleEventHandler;

Событие OnIdle возникает
один раз – когда приложение переходит в режим “безделья” (idle). Если в обработчике
переменной Done присвоить False событие будет вызываться вновь и вновь, до тех
пор пока приложение “бездельничает” и переменной Done не присвоенно значение
True.

Можно ли рисовать на рамке формы?

Вопрос:
Можно ли рисовать на рамке формы?
Ответ:
Обрабатывайте событие WM_NCPAINT. В примере рамка обводится красной линией
толщиной в 1 пиксел. Прочитать остальную часть записи »

Как при проигрывании музыки с Audio CD показывать сколько прошло минут и секунд?

Вопрос:
Как при проигрывании музыки с Audio CD показывать сколько прошло минут и секунд?
Ответ:
В примере время выводится по таймеру. Прочитать остальную часть записи »

Как во время выполнения определить поддерживает ли обьект заданное свойство?

Вопрос:
Как во время выполнения определить поддерживает ли обьект заданное свойство?
Ответ:
function HasProperty(Obj : TObject; Prop : string) : PPropInfo;
begin
	Result := GetPropInfo(Obj.ClassInfo, Prop);

end; Прочитать остальную часть записи »