Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

TRichedit, WM_SETZOOM и EM_FORMATRANGE   Найти похожие ветки 

 
MetalFan ©   (2004-03-11 17:26) [0]

Доброе время суток, мастера!!!
у меня такая проблема:
есть ричедит:
RichEdit1: TRichEdit
, в нем есть текст
Даем ему zoom:
Richedit1.perform(EM_SETZOOM, 150, 100);
где EM_SETZOOM = WM_USER + 225
потом делаем "снимок"

function RichEditToBMP(RichEdit_: TRichEdit): TBitmap;
var
 LogX: Integer;
 rc: TRect;
 Range: TFormatRange;
 Bmp: TBitmap;
begin
 Bmp:=TBitmap.Create;
 Bmp.Canvas.Brush.Color:=RichEdit_.Color;
       LogX := Screen.PixelsPerInch;
       rc := Classes.Rect(RichEdit_.ClientRect.Left * 1440 div LogX, RichEdit_.ClientRect.Top * 1440 div LogX,
                  RichEdit_.ClientRect.Right * 1440 div LogX, RichEdit_.ClientRect.Bottom * 1440 div LogX);

 SetBkMode(Bmp.Canvas.Handle, Transparent);
 Bmp.Width:=RichEdit_.ClientWidth;
 Bmp.Height:=RichEdit_.ClientHeight;
 Range.hdc:=Bmp.Canvas.Handle;
 Range.hdcTarget:=Range.hdc;
 Range.rc:=rc;
 Range.chrg.cpMin:=0;
 Range.chrg.cpMax:=-1;

 RichEdit_.Perform(EM_FORMATRANGE, Integer(True), Integer(@Range));
 RichEdit_.Perform(EM_FORMATRANGE, 0, 0);
 result:= Bmp;
end;


но получаем НЕ УВЕЛИЧЕННЫЙ зумом текст(((

Помогите советом ПЛЗ!!!!

Заранее спасибо!!!


 
MetalFan ©   (2004-03-11 17:26) [1]

сорьки, описался -  сообщение:
EM_SETZOOM


 
Sentinel ©   (2004-03-11 17:56) [2]

Делай масштабирование внутри функции снимка. У меня тоже не работает


 
MBo ©   (2004-03-11 18:00) [3]

А почему он должен увеличиваться? Никаких указаний в MSDN на то, что SETZOOM делает что-то, кроме изменения отображения, нет.


 
MetalFan ©   (2004-03-11 18:03) [4]


> Sentinel ©   (11.03.04 17:56) [2]
> Делай масштабирование внутри функции снимка. У меня тоже
> не работает

простите за глупый вопрос - а  как?


 
MetalFan ©   (2004-03-11 18:23) [5]

HELP!


 
Sentinel ©   (2004-03-11 18:36) [6]

Ну, например, после строки RichEdit_.Perform(EM_FORMATRANGE, Integer(True), Integer(@Range));
with Bmp do
 StretchBlt( Canvas.Handle, 0, 0, Width*2, Height*2, Canvas.Handle, 0, 0, Width, Height, SRCCOPY );


 
MetalFan ©   (2004-03-11 18:47) [7]


> Sentinel ©   (11.03.04 18:36) [6]
> Ну, например, после строки RichEdit_.Perform(EM_FORMATRANGE,
> Integer(True), Integer(@Range));
> with Bmp do
>  StretchBlt( Canvas.Handle, 0, 0, Width*2, Height*2, Canvas.Handle,
> 0, 0, Width, Height, SRCCOPY );

не выход... картинка увеличивается некрасиво!
да и не так выглядит, как после zoom"a
наверное придется в microsoft писать))))


 
MetalFan ©   (2004-03-12 09:27) [8]

опять тишина...
что, безвыходное положение?


 
Serge ©   (2004-03-12 09:30) [9]

Безвыходных положений не бывает. Всегда есть какой-то выход - или ... или :о)



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-1078912245
Krush
2004-03-10 12:50
2004.04.04
Как установить индикатор сортировки в TRxDBGrid?


3-1078594297
Nikis
2004-03-06 20:31
2004.04.04
Таблица DOS-кодировки


3-1078926195
Vit
2004-03-10 16:43
2004.04.04
Можно ли сделать многострочными ячейки БД


7-1076403470
Димос
2004-02-10 11:57
2004.04.04
Очистка корзины


3-1078822586
SergeyV
2004-03-09 11:56
2004.04.04
Почему ADO переспрашивает пароль ?