Вопрос:
Как отправить сообщение сразу всем элементам управления формы?
Ответ:
Можно использовать Screen.Forms[i].BroadCast(msg);
где [i] – индекс той формы, которой Вы хотите переслать сообщение. BroadCast
работает со всеми компонентами, потомками TWinControls и отправляет сообщение
всем дочерним компонентам из массива Controls. Если один из дочерних компонентов
обрабатывает это сообщение и устанавливает Msg.Result в ненулевое значение -
дальнейшая рассылка сообщения останавливается.
Вопрос:
Можно ли рисовать на рамке формы?
Ответ:
Обрабатывайте событие WM_NCPAINT. В примере рамка обводится красной линией
толщиной в 1 пиксел. Read the rest of this entry »
Вопрос:
Как в Delphi реализовать функцию - эквивалент TwipsPerPixel из VisualBasic?
Ответ:
Функции TwipsPerPixelX и TwipsPerPixelY, приведенные в примере реализуют ту же
функциональность в Delphi. Read the rest of this entry »
Как “заставить” форму не разворачиваться из иконки?
Для этого необходимо перехватить сообщение “WM_QUERYOPEN”. Для этого необходимо
объявить соответствующую процедуру в private-области.
{ объявление процедуры в классе TMainForm }
procedure WMQueryOpen(var Msg: TWMQueryOpen); message WM_QUERYOPEN;
Read the rest of this entry »
Как проверять корректность доступа к базе данных?
Следующая функция проверяет доступ к базе данных и выдает возможные причины,
если доступ не удается осуществить. Функция возвращает значение True в случае
успешной операции и False в противном случае.
function TBDEDirect.CheckDatabase: Boolean;
var
DS: TDataSource; Read the rest of this entry »
Как узнать содержание активной записи в БД?
Следующая функция возвращает в виде указателя на строку содержание активной
записи в БД.
function TBDEDirect.GetCurRecord(Lock: DBILockType): PChar;
var
Res: DBIResult;
RecSize: Word;
RecBuf: PChar;
Bookmark: TBookmark; Read the rest of this entry »