Вниз
Скачать: CL | DM;

Работа с графикой   Найти похожие ветки 

← →
Expl   (2004-11-03 20:06) [0]

Объясните пжлста ламеру в чем причина: суть в том, что при нажатии на  кнопку на PaintBox"e выводится таблица 5*5 с числами в клетках. Когда прорисовываю просто таблицу, то она сразу отображается, а когда после ее прорисовки ставлю прорисовку чисел, то при нажатии таблица появляется и мгновенно исчезает. В чем тут сёка?


← →
Mihey_temporary ©   (2004-11-03 20:09) [1]

Покажи код.


← →
Expl   (2004-11-03 20:13) [2]

procedure Show_Shulte(P: TPaintBox);
var x,y:integer;
   k,i,j:integer;
begin
x:=((p.Width div 2)-155);
y:=((p.Height div 2)-155);
P.Canvas.FillRect(P.Canvas.ClipRect);
P.Canvas.Brush.Color := ClBtnFace;
p.Canvas.Pen.Color:=clBlack;
p.Canvas.Pen.Style:=psSolid;
P.Canvas.Brush.Style:=bsSolid;
For i:=0 to 4 do
  For j:=0 to 4 do
     P.Canvas.Rectangle(x+i*64,y+j*64,x+(i+1)*65,y+(j+1)*65);
p.Canvas.Pen.Color:=clGreen;
P.Canvas.Brush.Color := clGreen;
P.Canvas.Brush.Style:=bsSolid;
P.Canvas.Ellipse(x+128+(32-8),y+128+(32-8),x+128+(32+8),y+128+(32+8));
//вывод текста
P.Canvas.Brush.Color := ClBtnFace;
p.Font.Name:="Arial";
p.Font.Size:=20;
for i:=0 to 4 do
  for j:=0 to 4 do
     if (i<>2) or (j<>2) then
           begin
           k:=random(24)+1;
           if k<10 then
               p.Canvas.TextOut(x+23+i*64,y+18+j*64,IntToStr(k))
           else p.Canvas.TextOut(x+16+i*64,y+18+j*64,IntToStr(k));
           end;
end;


← →
Expl   (2004-11-03 20:29) [3]

Причем, я тут посмотрел, глючить начинает если в процедуре есть вот эти 2 строчки:
p.Font.Name:="Arial";
p.Font.Size:=20;
А без них и с выводом текста работает, правда, шрифт не тот.


← →
Expl   (2004-11-03 20:31) [4]

Я понял! Надо было писать не
p.Font.Name:="Arial";
p.Font.Size:=20;
а
p.Canvas.Font.Name:="Arial";
p.Canvas.Font.Size:=20;


← →
Mihey_temporary ©   (2004-11-03 21:04) [5]

Ну вот и слава богу.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
14-1107241397
wal
2005-02-01 10:03
2005.02.20
О том, как программисты обрезают строки.


6-1102488735
Michael
2004-12-08 09:52
2005.02.20
function socket() для TCP - совсем запутался...


1-1107531869
ShimON
2005-02-04 18:44
2005.02.20
Отследить нажатие на крестик


3-1106135644
Alex_S
2005-01-19 14:54
2005.02.20
SELECT UPPER(NAME) FROM... для "я"


4-1103657293
Митяй2
2004-12-21 22:28
2005.02.20
Как из программы на Delphi выполнить дозвон к интернету




   Наверх