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

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

При попытке использовать метод TCanvas.StretchDraw

Вопрос:
При попытке использовать метод TCanvas.StretchDraw чтобы нарисовать иконку
увеличенной ее размер не изменяется. Что делать?
Ответ:
Иконки всегда рисуются размером принятым в системе по умолчанию. Чтобы показать
увеличенный вид иконки скоприуйте ее на bitmap, а зате используйте метод
TCanvas.StretchDraw. Прочитать остальную часть записи »

Как перехватить события в неклиентской области формы, в заголовке окна, например?

Вопрос:
Как перехватить события в неклиентской области формы, в заголовке окна, например?
Ответ:
Создайте обработчик одного из сообщений WM_NC (non client - не клиентских) (посмотрите
WM_NC в Windows API help). Пример показывает как перехватить вижение мыши во всей
неклиенстской области окна (рамка и заголовок). Прочитать остальную часть записи »

При попытке создать обьект класса TPrinter (TPrinter.Create) я получаю exception

Вопрос:
При попытке создать обьект класса TPrinter (TPrinter.Create) я получаю exception.
Почему?
Ответ:
В создании обьекта класса TPrinter с использованием TPrinter.Create нет необходимости,
так как обьект класса TPrinter (называемый Printer) автоматически создается при
использовании модуля Printers. Прочитать остальную часть записи »

как присвоить значение свойству selected?

Вопрос:
При попытке присвоить значение свойству "selected" ListBox'а вырабатывается exception
"Index is out of bounds". В чем тут дело и как присвоить значение свойству selected?
Ответ:
Свойство "selected" компонента ТListBox может быть использованно только если свойство
MultiSelect установленно в True. Если Вы работаете с ListBox'ом у которого
MultiSelect=false то используйте свойство ItemIndex.

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	ListBox1.Items.Add('1');
	ListBox1.Items.Add('2');
	{This will fail on a single selection ListBox}
//	ListBox1.Selected[1] := true;
	ListBox1.ItemIndex := 1; {This is ok}
end;

Как изменить оконную процедуру для TForm?

Вопрос:
Как изменить оконную процедуру для TForm?

Ответ:

Переопределите в подклассе
TForm оконную процедуру WinProc класса. В примере оконная процедура переопределяется
для того чтобы реагировать на сообщение WM_CANCELMODE, показывающее, что выполняется
messagebox или какой-либо еще диалог. Прочитать остальную часть записи »