🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
8 messages
8 total messages Started by jh Sun, 05 Jun 2016 17:58
RichEdit, Zoom, rozmiar strony
#344998
Author: jh
Date: Sun, 05 Jun 2016 17:58
11 lines
1389 bytes
Chcę zmienić rozmiar RichEdit (np. TRichEdit, TcxRichEdit), żeby 
wyświetlał zawartość tak, jaką dostanę na wydruku. Innymi słowy, ma 
wyświetlać tekst w trybie PrintLayout.

Generalnie są działające lepiej lub gorzej przykłady ze zrobieniem 
PrintPreview, czy drukowaniem, ale jakoś nie mogę wyczaić, jak to zrobić 
wprost na kontrolce RichEdit. Mam tego RichEdita na TScrollBox, rozmiar 
mogę zmieniać, tylko co przeliczyć? Oczywiście zakładam, że odnoszę się 
do aktualnie wybranej drukarki oraz ustalonych rozmiarów strony.

jh
Re: RichEdit, Zoom, rozmiar strony
#344999
Author: jh
Date: Sun, 05 Jun 2016 21:40
18 lines
1407 bytes
W dniu 2016-06-05 o 19:58, jh pisze:
> Chcę zmienić rozmiar RichEdit (np. TRichEdit, TcxRichEdit), żeby
> wyświetlał zawartość tak, jaką dostanę na wydruku. Innymi słowy, ma
> wyświetlać tekst w trybie PrintLayout.

Czyżbym trafił? ;)

var
   X: Integer;
begin
// dla TRichEdit reEditor.Handle
// dla TcxRichEdit reEditor.InnerControl.Handle
   X := Trunc(GetDeviceCaps(Printer.Handle, HorzSize) * 1440 / 25.4);
   SendMessage(reEditor.InnerControl.Handle, EM_SETTARGETDEVICE, 
Printer.Handle, X);


jh
Re: RichEdit, Zoom, rozmiar strony
#345000
Author: Stregor
Date: Tue, 07 Jun 2016 04:52
9 lines
1235 bytes
>   X := Trunc(GetDeviceCaps(Printer.Handle, HorzSize) * 1440 / 25.4);
>   SendMessage(reEditor.InnerControl.Handle, EM_SETTARGETDEVICE,
> Printer.Handle, X);

Z ciekawości, skąd wziąłeś magiczne 1440 i 25.4?

-- 
Pozdrawiam,
Stregor
Re: RichEdit, Zoom, rozmiar strony
#345001
Author: miab
Date: Wed, 08 Jun 2016 09:24
11 lines
1362 bytes
W dniu 2016-06-07 o 06:52, Stregor pisze:
>>   X := Trunc(GetDeviceCaps(Printer.Handle, HorzSize) * 1440 / 25.4);
>>   SendMessage(reEditor.InnerControl.Handle, EM_SETTARGETDEVICE,
>> Printer.Handle, X);
>
> Z ciekawości, skąd wziąłeś magiczne 1440 i 25.4?
>

Pewnie Epson z głowica piezo i cale.

miab
Re: RichEdit, Zoom, rozmiar strony
#345002
Author: jh
Date: Wed, 08 Jun 2016 23:39
13 lines
1315 bytes
W dniu 2016-06-07 o 06:52, Stregor pisze:
>>   X := Trunc(GetDeviceCaps(Printer.Handle, HorzSize) * 1440 / 25.4);
>>   SendMessage(reEditor.InnerControl.Handle, EM_SETTARGETDEVICE,
>> Printer.Handle, X);
>
> Z ciekawości, skąd wziąłeś magiczne 1440 i 25.4?
>

1 twip = 1/1440 cala
TwipsPerPixel = 1440/PixelsPerInch
25.4 - cale w mm

jh
Re: RichEdit, Zoom, rozmiar strony
#345003
Author: Romek
Date: Thu, 09 Jun 2016 00:58
17 lines
1954 bytes
W dniu niedziela, 5 czerwca 2016 19:58:52 UTC+2 użytkownik jh napisał:
> Chcę zmienić rozmiar RichEdit (np. TRichEdit, TcxRichEdit), żeby 
> wyświetlał zawartość tak, jaką dostanę na wydruku. Innymi słowy, ma 
> wyświetlać tekst w trybie PrintLayout.
> 
> Generalnie są działające lepiej lub gorzej przykłady ze zrobieniem 
> PrintPreview, czy drukowaniem, ale jakoś nie mogę wyczaić, jak to zrobić 
> wprost na kontrolce RichEdit. Mam tego RichEdita na TScrollBox, rozmiar 
> mogę zmieniać, tylko co przeliczyć? Oczywiście zakładam, że odnoszę się 
> do aktualnie wybranej drukarki oraz ustalonych rozmiarów strony.
> 
> jh


Poszukaj "Print Preview Components by Kambiz R. Khojasteh", zaoszczędzisz dużo czasu.

Romek
Re: RichEdit, Zoom, rozmiar strony
#345004
Author: jh
Date: Thu, 09 Jun 2016 10:04
22 lines
2097 bytes
W dniu 2016-06-09 o 02:58, Romek pisze:
> W dniu niedziela, 5 czerwca 2016 19:58:52 UTC+2 użytkownik jh napisał:
>> Chcę zmienić rozmiar RichEdit (np. TRichEdit, TcxRichEdit), żeby
>> wyświetlał zawartość tak, jaką dostanę na wydruku. Innymi słowy, ma
>> wyświetlać tekst w trybie PrintLayout.
>>
>> Generalnie są działające lepiej lub gorzej przykłady ze zrobieniem
>> PrintPreview, czy drukowaniem, ale jakoś nie mogę wyczaić, jak to zrobić
>> wprost na kontrolce RichEdit. Mam tego RichEdita na TScrollBox, rozmiar
>> mogę zmieniać, tylko co przeliczyć? Oczywiście zakładam, że odnoszę się
>> do aktualnie wybranej drukarki oraz ustalonych rozmiarów strony.

> Poszukaj "Print Preview Components by Kambiz R. Khojasteh", zaoszczędzisz dużo czasu.

Nie o to chodzi. Zrobić podgląd to nie problem. Użytkownik potrzebuje 
pisać w RichEdit i mieć zawijanie wierszy/przenoszenie wyrazów dokładnie 
tak, jak to będzie wydrukowane, czyli szerokość w kontrolce, w ktorej 
jest pisany tekst musi być taka, jak na wydruku. System drukowania i 
podglądu mam (DevExpress Printing System).


jh
Re: RichEdit, Zoom, rozmiar strony
#345005
Author: Romek
Date: Thu, 09 Jun 2016 12:56
27 lines
2820 bytes
W dniu czwartek, 9 czerwca 2016 12:04:22 UTC+2 użytkownik jh napisał:
> W dniu 2016-06-09 o 02:58, Romek pisze:
> > W dniu niedziela, 5 czerwca 2016 19:58:52 UTC+2 użytkownik jh napisał:
> >> Chcę zmienić rozmiar RichEdit (np. TRichEdit, TcxRichEdit), żeby
> >> wyświetlał zawartość tak, jaką dostanę na wydruku. Innymi słowy, ma
> >> wyświetlać tekst w trybie PrintLayout.
> >>
> >> Generalnie są działające lepiej lub gorzej przykłady ze zrobieniem
> >> PrintPreview, czy drukowaniem, ale jakoś nie mogę wyczaić, jak to zrobić
> >> wprost na kontrolce RichEdit. Mam tego RichEdita na TScrollBox, rozmiar
> >> mogę zmieniać, tylko co przeliczyć? Oczywiście zakładam, że odnoszę się
> >> do aktualnie wybranej drukarki oraz ustalonych rozmiarów strony.
> 
> > Poszukaj "Print Preview Components by Kambiz R. Khojasteh", zaoszczędzisz dużo czasu.
> 
> Nie o to chodzi. Zrobić podgląd to nie problem. Użytkownik potrzebuje 
> pisać w RichEdit i mieć zawijanie wierszy/przenoszenie wyrazów dokładnie 
> tak, jak to będzie wydrukowane, czyli szerokość w kontrolce, w ktorej 
> jest pisany tekst musi być taka, jak na wydruku. System drukowania i 
> podglądu mam (DevExpress Printing System).
> 
> 
> jh

Z postów wywnioskowałem (może błędnie), że możesz mieć problem przeliczeniem wymiarów wydruku na rozmiar kontrolki. W projekcie, który podałem, są utworzone funkcje, które umożliwiają przeliczanie różnych jednostek przy zadanej rozdzielczości.

Romek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads