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

Вниз

Координатная плоскость   Найти похожие ветки 

 
$tranger ©   (2004-04-13 09:11) [0]

Господа, подскажите как мне реализовать в своей программе координатную плоскость. В принципе мне нужна сама сетка. Я пробовал чарез Shape, но 900 штук - это перебор. Может есть готоввый компонент или альтернативное решение?.. Спасибо


 
Думкин ©   (2004-04-13 12:18) [1]

А просто рисовать ее - пробовал?


 
WondeRu ©   (2004-04-13 12:29) [2]

на чем рисуешь-то?


 
$tranger ©   (2004-04-13 20:09) [3]

Я раскопировал на самой форме 900 штук квадратов - вот и все...

> Думкин ©   (13.04.04 12:18) [1]
что значит "просто рисовать"


 
panov ©   (2004-04-13 22:49) [4]

так прямыми линиями сетку рисуй...


 
Думкин ©   (2004-04-14 06:33) [5]

> $tranger ©   (13.04.04 20:09) [3]

Ну так просто - берешь и линуешь. Например обрабатывай WM_Paint.


 
тихий вовочка ©   (2004-04-14 07:15) [6]

У меня на работе плоскость из ячеек 256х64. Я рисую линиями
установив стиль пера в psDot. Очень красиво получается.


 
$tranger ©   (2004-04-14 20:20) [7]

Т.е. вы предлагаете в событии Paint поставить цикл с рисованием... Интересная идея, но не будет ли тормозить при запуске на слабых машинах?


 
Gero ©   (2004-04-14 20:46) [8]


> Интересная идея, но не будет ли тормозить при запуске на
> слабых машинах?

В любом случае 900 Shape будет тормозить НАМНОГО больше.


 
panov ©   (2004-04-14 21:24) [9]

>$tranger ©   (14.04.04 20:20) [7]

Т.е. вы предлагаете в событии Paint поставить цикл с рисованием... Интересная идея, но не будет ли тормозить при запуске на слабых машинах?

Прорисовка окон в Windows так и работает, пока не заметно, чтобы тормозило особо...


 
panov ©   (2004-04-14 21:34) [10]

procedure TForm1.FormPaint(Sender: TObject);
var
 x,y: Integer;
 REct: TRect;
begin

 GetClipBox(Canvas.Handle,Rect);

 Canvas.Pen.Style := psDot;

 x := 20;
 y := 20;

 while x<Rect.Right do
 begin
   canvas.MoveTo(x,0);
   Canvas.LineTo(x,Rect.Bottom);
   Inc(x,20);
 end;

 while y<Rect.Bottom do
 begin
   canvas.MoveTo(0,y);
   Canvas.LineTo(Rect.Right,y);
   Inc(y,20);
 end;


 
Gero ©   (2004-04-14 22:26) [11]


> Прорисовка окон в Windows так и работает, пока не заметно,
> чтобы тормозило особо...

Тормозит. Особенно в XP
:)


 
$tranger ©   (2004-04-15 15:02) [12]

Господа, всем большое спасибо - очень помогли, особенно
> panov ©   (14.04.04 21:34) [10]
. Заодно и научился работать с Canvas"ом :)



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

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

Наверх




Память: 0.49 MB
Время: 0.029 c
14-1086539606
kaif
2004-06-06 20:33
2004.06.27
Натурфилософия третьего тысячелетия


6-1083623695
Eugene13
2004-05-04 02:34
2004.06.27
База видео фильмов в инете...


14-1086719021
Vasya.ru
2004-06-08 22:23
2004.06.27
хороший чистильщик реестра


6-1083491056
John
2004-05-02 13:44
2004.06.27
save html as txt


1-1086765535
xman
2004-06-09 11:18
2004.06.27
ASM