![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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);