Вопрос: Некоторые компоненты не меняют курсор мыши до тех пор пока пользователь не сдвинет мышь. Как эмулировать движение мыши? Ответ: В примере мышка слегка "подталкивается" без участия пользователя. procedure TForm1.Button1Click(Sender: TObject); Прочитать остальную часть записи »
Вопрос: Как отправить сообщение сразу всем элементам управления формы? Ответ:
Можно использовать Screen.Forms[i].BroadCast(msg);
где [i] – индекс той формы, которой Вы хотите переслать сообщение. BroadCast
работает со всеми компонентами, потомками TWinControls и отправляет сообщение
всем дочерним компонентам из массива Controls. Если один из дочерних компонентов
обрабатывает это сообщение и устанавливает Msg.Result в ненулевое значение -
дальнейшая рассылка сообщения останавливается.
Как создать и использовать новую форму курсора?
Для этого необходимо создать новый курсор(ы) в подходящем для этого редакторе
ресурсов (например борландовский Resource Workshop). При этом надо обратить
внимание на то что имена в редакторе ресурсов (особенно в том, который поставляется
с Delphi) надо писать заглавными буквами. После этого “перед внутренним
употреблением” (лучше всего в процедуре обработки события OnCreate главной
формы) необходимо загрузить курсор(ы) из res-файла как указано ниже:
{$I CURSOR.RES}
Screen.Cursors[1] := LoadCursor(hInstance, 'CURSOR_1');
Button1.Cursor := 1;
Обратите внимание на то, что системные курсоры в Screen.Cursors начинаются
с нуля и идут в минусовом направлении. Поэтому при создании новых курсоров
лучше выбирать положительные числа (лучше не слишком большие :-)). Прочитать остальную часть записи »