![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Доброго времени суток всем. Подскажите,я эту процедуру:
Код:
procedure EnterText(x,y:integer;s:string); var Canvas:TCanvas; begin Canvas.Font.Size := 12; Canvas.Font.Color := clBlack; Canvas.TextOut(x,y,s); end; Код:
procedure TForm1.Block(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (Bl) then begin canvas.Brush.Color:=clwhite; canvas.Rectangle(60,50,180,110); procedure EnterText(62,70,'Some text'); BL:= not BL; exit; end; begin if not BL then begin canvas.pen.Style:=pssolid; canvas.Brush.Color:=clred; canvas.Rectangle(60,50,180,110); procedure EnterText(62,70,'Some text'); BL:= true; exit; end; end; end; |
#2
|
||||
|
||||
![]() Canvas:TCanvas; не инициализирована.
Arrrgh |
#3
|
|||
|
|||
![]() Цитата:
Цитата:
|
#4
|
|||
|
|||
![]() у тебя Canvas должно в процедуру EnterText передаваться извне.
т.е: Код:
procedure EnterText(Canvas : TCanvas; x,y:integer;s:string); begin Canvas.Font.Size := 12; Canvas.Font.Color := clBlack; Canvas.TextOut(x,y,s); end; Соответсвенно, в вызове указывай тот Canvas, с которым работаешь. ЗЫ. Если ты работаешь с канвой формы, то можно сделать процедуру без передачи канвы - убираешь указание Canvas, а процедуру делаешь методом формы. в этом случае процедура будет обращаться к канве формы. |
#5
|
|||
|
|||
![]() Благодарю,lmikle.Вроде работает.
|
#6
|
|||
|
|||
![]() А вот ещё:
Код:
procedure CreateBlock(Canvas:TCanvas;x,y,z,x1,y1,x2,y2:integer; Pr:boolean;s:string); begin if Pr then begin Canvas.Brush.Color:=clgreen; Canvas.rectangle(x1,y1,x2,y2); Canvas.Font.Size:=z; Canvas.Font.Color:=clBlack; Canvas.TextOut(x,y,s); Pr:= not Pr; exit; end; if not Pr then begin Canvas.Brush.Color:=clred; Canvas.rectangle(x1,y1,x2,y2); Canvas.Font.Size:=z; Canvas.Font.Color:=clBlack; Canvas.TextOut(x,y,s); Pr:= true; exit; end; end; |
#7
|
||||
|
||||
![]() Код:
procedure TForm1.Block(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (Bl) then begin canvas.Brush.Color:=clwhite; canvas.Rectangle(60,50,180,110); procedure EnterText(62,70,'Some text'); BL:= not BL; exit; end; begin if not BL then begin canvas.pen.Style:=pssolid; canvas.Brush.Color:=clred; canvas.Rectangle(60,50,180,110); procedure EnterText(62,70,'Some text'); BL:= true; exit; end; end; end; Ключевого слова procedure там не должно быть! просто EnterText(62,70,'Some text') |