Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Tabulator in JvRichedit in Millimetern (https://www.delphipraxis.net/62051-tabulator-jvrichedit-millimetern.html)

BrunoT 30. Jan 2006 13:01


Tabulator in JvRichedit in Millimetern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi DPl'er,

ich möchte gern die Tabulatoren im JvRichedit im Millimetern angeben. Bisher habe ich das so versucht:

Delphi-Quellcode:
var
  dc: HDC;
  MMproPixelX, MMproPixely : single;
  xofs, yofs: Integer;
begin
  dc := GetDC(0);
  MMproPixelX := 25.4 / GetdeviceCaps(dc, LOGPIXELSX);
  MMproPixelY := 25.4 / GetdeviceCaps(dc, LOGPIXELSY);
  JvRe.Lines.Add('');
  jvRe.Paragraph.TabCount := 3;
  jvRe.Paragraph.Tab[0] := Round(1 / MMproPixelX * 10); //10mm
  jvRe.Paragraph.Tab[1] := Round(1 / MMproPixelX * 50); //50mm
  jvRe.Paragraph.Tab[2] := Round(1 / MMproPixelX * 100); //100mm
  JvRe.Lines.Add(^I + IntToStr(jvRe.Paragraph.Tab[0]) + ^I +
    IntToStr(jvRe.Paragraph.Tab[1]) + ^I + IntToStr(jvRe.Paragraph.Tab[2]));
Die Tabulator- Abstände passen aber nicht. Was mache ich falsch?

Avax2k 30. Jan 2006 13:17

Re: Tabulator in JvRichedit in Millimetern
 
ersetze es doch durch die normale tabulatorfunktion:

Delphi-Quellcode:
var
  dc: HDC;
  MMproPixelX, MMproPixely : single;
  xofs, yofs: Integer;
begin
  dc := GetDC(0);
  MMproPixelX := 25.4 / GetdeviceCaps(dc, LOGPIXELSX);
  MMproPixelY := 25.4 / GetdeviceCaps(dc, LOGPIXELSY);
//  JvRe.Lines.Add('');
//  jvRe.Paragraph.TabCount := 3;
//  jvRe.Paragraph.Tab[0] := Round(1 / MMproPixelX * 10); //10mm
//  jvRe.Paragraph.Tab[1] := Round(1 / MMproPixelX * 50); //50mm
//  jvRe.Paragraph.Tab[2] := Round(1 / MMproPixelX * 100); //100mm
    JvRe.Lines.Add(^I + chr(vk_tab) + ^I + chr(vk_tab) + ^I + chr(vk_tab));
sollte immer gehen und wenn der Abstand größer sein soll einfach:
Delphi-Quellcode:
chr(vk_tab)+chr(vk_tab)
dann hast du den eben doppelt und immer gleich :-D

BrunoT 30. Jan 2006 13:24

Re: Tabulator in JvRichedit in Millimetern
 
Hi Avax2k,

das ist aber nicht das was ich wollte, ich möchte schon angeben können, wo die Tabulatoren sind. Das sollte aber auflösungsunabhängig sein. :freak:

mfg

BrunoT 30. Jan 2006 15:21

Re: Tabulator in JvRichedit in Millimetern
 
Hi,

Ich habe in dem Beispiel für JvRichedit eine Umrechnungszahl gefunden, mit der es jetzt klappt:

Delphi-Quellcode:
  jvRe.Paragraph.Tab[0] := Round(2.83464567*10);
  jvRe.Paragraph.Tab[1] := Round(2.83464567*50);
  jvRe.Paragraph.Tab[2] := Round(2.83464567*100);
was dies für eine Zahl ist, kann ich allerdings nicht sagen. Ist das auch auflösungsunabhänig?

vieleicht kann das jemand beantworten.

mfg

BrunoT


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz