Avatar billede da-bitsch Nybegynder
08. juni 2003 - 16:03 Der er 5 kommentarer

Kode til noget lineal lignene

Der skulle vel ikke være nogle herinde som havde noget stump kode så hvis man lavede en teksteditor kom det til at se ud ligesom word når man skrev. Det hele skulle opsættes som en eller anden form for side. Således at man kunne se hele tiden hvordan at det ville se ud når det engang blev udskrevet og derfor var lettere at rette da man vidste hvilken linje man skulle hoppe til. Det kunne være fedt hvis at man selv kunne bestemme marginen med en lineal, men har kigget lidt på koden som følger med delphis teksteditor og den ser halvsvær ud
Avatar billede Slettet bruger
08. juni 2003 - 17:21 #1
Du kan sætte marginen sådan:

var
  R: TRect;
begin
    R := Rect(20, 20, RichEdit1.ClientWidth-20, RichEdit1.ClientHeight);
    SendMessage(RichEdit1.Handle, EM_SETRECT, 0, Longint(@R));
end;
Avatar billede da-bitsch Nybegynder
08. juni 2003 - 21:06 #2
Kan du ikke beskrive koden lidt så jeg ved hvad jeg gør. Får nærmest ingenting ud af den der kode
Avatar billede Slettet bruger
09. juni 2003 - 10:23 #3
procedure SetMargin(RichEdit: TRichEdit; AfstandFraVenstre, AfstandFraHoejre, AfstandFraTop:Integer);
var
  R: TRect;
begin
    R := Rect(AfstandFraVenstre, AfstandFraTop, RichEdit.ClientWidth-AfstandFraHoejre, RichEdit.ClientHeight);
    SendMessage(RichEdit.Handle, EM_SETRECT, 0, Longint(@R));
end;
Avatar billede da-bitsch Nybegynder
09. juni 2003 - 14:06 #4
hmmmmm. Hvis jeg skulle gøre det her med en ruler hvordan ville du så have jeg skulle gøre det. For hvad jeg kan se nu er der slet ingen måde og bestemme marginen på det er vel bare hvordan det kommer til at se ud når det bliver printet
Avatar billede Slettet bruger
09. juni 2003 - 14:29 #5
Nej.. det er ikke kun når det bliver printet ud.

Prøv denne kode:

Prøv

Kode for Unit1:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    TrackBar1: TTrackBar;
    TrackBar3: TTrackBar;
    TrackBar4: TTrackBar;
    procedure FormResize(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure SetMargin(RichEdit: TRichEdit; AfstandFraVenstre, AfstandFraHoejre, AfstandFraTop:Integer);
var
  R: TRect;
begin
    R := Rect(AfstandFraVenstre, AfstandFraTop, RichEdit.ClientWidth-AfstandFraHoejre, RichEdit.ClientHeight);
    SendMessage(RichEdit.Handle, EM_SETRECT, 0, Longint(@R));
end;

procedure TForm1.FormResize(Sender: TObject);
begin
SetMargin(RichEdit1,TrackBar1.Position,-TrackBar3.Position,TrackBar4.Position);
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
SetMargin(RichEdit1,TrackBar1.Position,-TrackBar3.Position,TrackBar4.Position);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
SetMargin(RichEdit1,TrackBar1.Position,-TrackBar3.Position,TrackBar4.Position);
end;

end.


Kode for Form1:

object Form1: TForm1
  Left = 192
  Top = 107
  Width = 444
  Height = 383
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  OnPaint = FormPaint
  OnResize = FormResize
  PixelsPerInch = 96
  TextHeight = 13
  object RichEdit1: TRichEdit
    Left = 16
    Top = 32
    Width = 400
    Height = 300
    Lines.Strings = (
      'RichEdit1')
    TabOrder = 0
  end
  object TrackBar1: TTrackBar
    Left = 16
    Top = 0
    Width = 400
    Height = 17
    Max = 400
    Orientation = trHorizontal
    Frequency = 1
    Position = 0
    SelEnd = 0
    SelStart = 0
    TabOrder = 1
    ThumbLength = 10
    TickMarks = tmBottomRight
    TickStyle = tsNone
    OnChange = TrackBar1Change
  end
  object TrackBar3: TTrackBar
    Left = 16
    Top = 16
    Width = 400
    Height = 17
    Max = 0
    Min = -400
    Orientation = trHorizontal
    Frequency = 1
    Position = 0
    SelEnd = 0
    SelStart = 0
    TabOrder = 2
    ThumbLength = 10
    TickMarks = tmBoth
    TickStyle = tsNone
    OnChange = TrackBar1Change
  end
  object TrackBar4: TTrackBar
    Left = 0
    Top = 32
    Width = 17
    Height = 305
    Max = 300
    Orientation = trVertical
    Frequency = 1
    Position = 0
    SelEnd = 0
    SelStart = 0
    TabOrder = 3
    ThumbLength = 10
    TickMarks = tmBottomRight
    TickStyle = tsNone
    OnChange = TrackBar1Change
  end
end
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester