Архив | Апрель 2010

Как изменить стандартный crHandPoint на системный (Delphi)

По умолчанию он довольно страшный… Изменить страшный crHandPoint на более симпотный системный поможет данный код, добавленный в обработчик инициализации формы.

 Screen.Cursors[crHandPoint]:=LoadCursor(0,IDC_HAND);

При изменении размеров TImage размер его Canvas не меняется (Delphi)

Иногда возникает ситуация, когда необходимо в ходе выполнения программы изменить размеры компонента TImage, а потом на его холсте что-то нарисовать. Но все новые рисунки на холсте TImage ограничены старыми габаритами. Как это решить?

Необходимо вместе с размерами TImage изменить размеры его Bitmap.

Image1.Height := 80;
Image1.Width := 33;
Image1.Picture.Bitmap.Height := 80;
Image1.Picture.Bitmap.Width := 33;

Кто вызвал PopupMenu? (Delphi)

Маленькое лирическое отступление

В этом блоге решил постить в основном всякие мелочи, типа той, которую запостю щас. Для чего это? В Интернете море информации обо всём, но как только дело доходит до конкретики даже совсем несложного вопроса, нужно изрядно постараться, чтобы из кучи мусора выбрать именно то, что необходимо. Порой на это уходит очень много времени. Тут буду собирать выжимки, которые могут пригодиться как мне, так и остальным. Надеюсь не зря…

Кто вызвал PopupMenu?

Для того, чтобы узнать, к примеру, имя компонента, вызвавшего появление PopupMenu нужно обработать событие клика (или какое вам нужно) следующим образом.

procedure Form.N11Click(Sender: TObject);
  begin
  ShowMessage(PopupMenu1.PopupComponent.Name);
  end;

Ещё одно вступление

Время больше полуночи, а я взялся опять за блог. В голове полно мыслей, которыми делиться совсем не хочется… Учитывая то, что начал я этот блог совсем не потому что мне было весело в тот момент, могу сказать, что не знаю — чувствуюя я сейчас себя хорошо или плохо… В любом случае — постить тут я всё-таки буду и отнюдь не всякую фигню, типа этой