Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2011, 13:36   #1
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию ScaleBy и Canvas

Пишу редактор таблиц. Хочу сделать маштабирование редактора (где находятся панели, которые отображат таблицы). Маштаблирование делаю при помощи метода ScaleBy самого редактора (на котором расположены панели). В результате чего, панели увеличиваются, а текст на панелях нет.
Хотелось бы спросить, как правильно выводить текст на канву, чтобы при увеличиении (уменьшении) размеров панелей, текст имел больший (мешьний) размер текста соотвественно.
Сам компонент состоит из палени, на которой размещены еще 2 панели. Возможно я совершил где то ошибку:
Код:
constructor TPanelEdit.Create;
begin
  inherited;
  ParentBackground := False;
  ColorBackground := FColorBackground;
  ColorText := clWhite;
  Color := clWhite;
  DoubleBuffered := True;

  if not Assigned(FPanelNameTable) then
  begin
    FPanelNameTable := TPanelCanvas.Create(Self);
    with FPanelNameTable do
    begin
      Parent := Self;
      DoubleBuffered := True;
      Align := alTop;
      Height := 20;
      BevelOuter := bvNone;
      Font.Height := 12;
      Constraints.MaxHeight := 20;
      Constraints.MinHeight := 20;
      ParentBackground := False;
      Color := clWhite;

      // События
      OnMouseDown := Down;
      OnMouseUp := Up;
      OnMouseMove := Move;
    end;
  end;

  if not Assigned(FPanelItems) then
  begin
    FPanelItems := TPanelCanvas.Create(Self);
    with FPanelItems do
    begin
      Top := 21;
      Parent := Self;
      DoubleBuffered := True;
      Align := alClient;
      BevelOuter := bvNone;
      BorderStyle := bsSingle;
      ParentBackground := False;
      Color := FColorBackground;

      // События
      OnMouseDown := Down;
      OnMouseUp := Up;
      OnMouseMove := Move;
    end;

  end;
end;
где FPanelItems, FPanelNameTable
Код:
  TPanelCanvas = class(TPanel)
  public
    property Canvas;
    property OnMouseMove;
    property OnMouseUp;
    property OnMouseDown;
  end;
Изображения
Тип файла: jpg Панели.jpg (44.9 Кб, 71 просмотров)
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.

Последний раз редактировалось chertovich; 06.09.2011 в 13:49.
chertovich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
canvas+js alexander1111 JavaScript, Ajax 2 25.03.2011 17:06
3D canvas konikovskit Мультимедиа в Delphi 1 06.09.2010 22:02
Canvas guffer Обсуждение статей 1 21.08.2009 10:19
Canvas Zven Общие вопросы Delphi 9 06.12.2007 10:40