Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

RichEdit [D6, WinXP]


Fostr ©   (2005-01-17 10:10:00) 

Уважаемые господа!
Есть форма, на форме RichEdit, в котором есть текст. Как изменить масштаб текста, не меняя при этом размеров RichEdit (по аналогии с врдом, где можно менять масштаб)?


Fay   (2005-01-17 15:03:00) [1]

OK


Fostr   (2005-01-17 14:55:00) [2]

Огроменнейшее спасибо!


Fay   (2005-01-17 12:01:00) [3]

Не очень изящно, но для иллюстрации пойдёт
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls;

type
 TJopaRich = class(TCustomRichEdit)
 protected
   procedure CreateParams(var Params : TCreateParams); override;
 end;

 TForm1 = class(TForm)
   Button1 : TButton;
   procedure Button1Click(Sender : TObject);
 private
   FRich : TJopaRich;
 public
   constructor Create(AOwner : TComponent); override;
 end;

var
 Form1 : TForm1;

implementation

const
 EM_SETZOOM = WM_USER + 225;

{$R *.dfm}

procedure TForm1.Button1Click(Sender : TObject);
begin
 SendMessage(FRich.Handle, EM_SETZOOM, 101, 20);
end;

{ TJopaRich }

procedure TJopaRich.CreateParams(var Params : TCreateParams);
const
 RichEditModuleName = 'RICHED32.DLL';
begin
 LoadLibrary(RichEditModuleName);
 inherited CreateParams(Params);
 CreateSubClass(Params, 'RichEdit20A');
end;

constructor TForm1.Create(AOwner : TComponent);
begin
 inherited;
 FRich := TJopaRich.Create(Self);
 FRich.Parent := Self;
 FRich.Top := 0;
 FRich.Left := 0;
 FRich.Width := 300;
 FRich.Height := 300;
end;

end.


Fay   (2005-01-17 11:24:00) [4]

SendMessage(MyRichVer3.Handle, EM_SETZOOM, 1, 2);


Наверх

Титульная страница Поиск, карта сайта Написать письмо