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

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

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

Вопрос:

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

Ответ:

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

Как бы мне создать trackbar

Вопрос:

Как бы мне создать эдакий trackbar в котором вместо широкой белой полоски с ползунком была бы тонкая линия?

Ответ:

В примере создается компонент,
унаследованный от TTrackbar который переопределяет метод CreateParams и убират
флаг TBS_ENABLESELRANGE из Style. Константа TBS_ENABLESELRANGE обьявленна в
модуле CommCtrl.

Пример:
uses CommCtrl, ComCtrls;

type TMyTrackBar = class(TTrackBar)
	procedure CreateParams(var Params: TCreateParams); override;
end;

procedure TMyTrackBar.CreateParams(var Params: TCreateParams);
begin
	inherited;
		Params.Style := Params.Style and not TBS_ENABLESELRANGE;
end;

var
	MyTrackbar : TMyTrackbar;

procedure TForm1.Button1Click(Sender: TObject);
begin
	MyTrackBar := TMyTrackbar.Create(Form1);
	MyTrackbar.Parent := Form1;
	MyTrackbar.Left := 100;
	MyTrackbar.Top := 100;
	MyTrackbar.Width := 150;
	MyTrackbar.Height := 45;
	MyTrackBar.Visible := true;
end;

Почему при изменении цвета шрифта в StatusBar’s он (шрифт) не меняется?

Вопрос:
Почему при изменении цвета шрифта в StatusBar's он (шрифт) не меняется?

Ответ:

Status bar (строка состояния)
- стандартный элемент управления Windows и цвет его шрифта задается через Control
Panel (константа clBtnText). Этот цвет по умолчанию черный и может меняться
при выборе пользователем той или иной цветовой схемы. У компонента ТStatusBar
и его панелей есть возможность “owner-draw” – программной перерисовки, которая
позволяет выводить на панель текст любого цвета. Измените свойство Style компонента
TStatusBar.Panels на OwnerDraw. Прочитать остальную часть записи »

Можно ли создать форму, которая получает дополнительные параметры в методе Сreate?

Вопрос:
Можно ли создать форму, которая получает дополнительные параметры в методе Сreate?
Ответ:
Просто замените конструктор Create класса Вашей формы. Прочитать остальную часть записи »

Как запрограммировать undo?

Вопрос:
Как запрограммировать undo?

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

Memo1.Perform(EM_UNDO, 0, 0);

Если Вы хотите узнать, возможно ли выполнить операцию "Undo", проверьте "Undo status":

If Memo1.Perform(EM_CANUNDO, 0, 0) <> 0 then
begin
	{Undo is possible}
end;

Для выполнения "Redo" выполните "Undo" еще раз.