Tpaintbox

0

Witam!
Na formie mam umieszczony paintbox kilkukrotnie szerszy niz forma.Potrzebuje,zeby wykres byl rysowany na calym paintboxie.Co zrobic,zeby po przesuwaniu paska od scrolla na formie wykres nie znikal??
Dzieki

0

A mi wykres nie znika!!!!!!
Macham sobie przewijakiem i widzę wszystko. Nawet nie muszę wywoływać Repaint-a czy Refresh-a. Raz go rysuję i to mi wystarcza.

Być może gdzieś go czyścisz?

Możesz przecież narysować coś poza oknem, byle tylko mieściło się w twoim polu rysowania i to też powinno być widoczne dopiero wtedy kiedy pojawi się ten obszar.

0

W takim razie zupelnie nie wiem o co chodzi. Przy przesunieciu scrolla wszystko znika.Taki prosty program.
Oto kod:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
procedure PaintBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.PaintBox1Click(Sender: TObject);
begin
canvas.MoveTo(0,75);
canvas.LineTo(5000,75);
end;

end.

0

bo "canvas"-ujesz po obiekcie głównym czyli Form1 a nie PaintBoxie

użyj
[code]
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
with Sender as TPaintBox do
begin
canvas.MoveTo(0,75);
canvas.LineTo(5000,75);
end;
end;
[/code]
a wtedy canvas=em czyli płótnem będzie Twój PaintBox

[cya]

1 użytkowników online, w tym zalogowanych: 0, gości: 1