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

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

Мне нужен временный canvas

Вопрос:

Мне нужен временный canvas, но когда я пытаюсь его создать получаю сообщения об ошибках. Как создать TCanvas?

Ответ:

Создайте Bitmap и используйте
свойство canvas класса TBitmap. Пример создает Bitmap, рисует на его canvas’е,
выводит этот canvas на форму и освобождает bitmap. Прочитать остальную часть записи »

Как создать эквивалент TEdit

Вопрос:

Как создать эквивалент TEdit но только с выравниваением вводимого текста по центру или по правой стороне?

Ответ:

TEdit не поддерживает
выравниваение текста по центру и по правой стороне – лучше использовать компонент
TMemo. Вам понадобится запретить пользователю нажимать Enter, Ctrl-Enter и всевозможные
комбинации клавиш со стрелками, чтобы избежать появления нескольких сторк в
Memo. Этого можно добиться и просматривая содержимое текста в TMemo в поисках
кода возврата каретки (13) и перевода строки(10) на событиях TMemo Change и
KeyPress. Можно также заменять код возврата каретки на пробел – для того чтобы
позволять вставку из буфера обмена многострочного текста в виде одной строки. Прочитать остальную часть записи »

Как в компоненте TMemo перехватить нажатие Ctrl-V

Вопрос:

Как в компоненте TMemo перехватить нажатие Ctrl-V и вставить специальный текст не из буфера обмена
(clipboard)?

Ответ:
См. пример.
Пример:

uses ClipBrd;

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
	if ((Key = ord('V')) and (ssCtrl in Shift)) then
		begin
			if Clipboard.HasFormat(CF_TEXT) then
				ClipBoard.Clear;
			Memo1.SelText := 'Delphi is RAD!';
			key := 0;
		end;
end;

Как в Delphi реализовать функцию – эквивалент TwipsPerPixel из VisualBasic?

Вопрос:
 

Как в Delphi реализовать функцию - эквивалент TwipsPerPixel из VisualBasic?

Ответ:
Функции  TwipsPerPixelX и TwipsPerPixelY, приведенные в примере реализуют ту же
функциональность в  Delphi. Прочитать остальную часть записи »

Как создать bitmap из пиктогрммы (icon)?

Вопрос:
Как создать bitmap из пиктогрммы (icon)?
Ответ:
Используя Bitmap.Canvas.Draw нарисуйте пиктограмму на Bitmap'е.

Пример:

procedure TForm1.Button1Click(Sender: TObject);
var
	TheIcon : TIcon;
	TheBitmap : TBitmap;
begin
		TheIcon := TIcon.Create;
		TheIcon.LoadFromFile('C:\Program Files\Borland\IcoCur32\EARTH.ICO');
		TheBitmap := TBitmap.Create;
		TheBitmap.Height := TheIcon.Height;
		TheBitmap.Width := TheIcon.Width;
		TheBitmap.Canvas.Draw(0, 0, TheIcon);
		Form1.Canvas.Draw(10, 10, TheBitmap);
		TheBitmap.Free;
		TheIcon.Free;
	end;