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

Вниз

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

 
Александер   (2005-03-09 19:46) [0]

Приветствую Вас, господа!
Сообщений об ошибках нет, но программа не работает как надо.
Создал две формы. На форме1 вводятся координаты вершин прямоугольника, который с успехом на ней же и рисуется. Тут вроде все нормально. Но рисовать на форме2 не хочет. Вот:

procedure TForm1.Button1Click(Sender: TObject);
var x1, y1, x2, y2: integer;
begin
   x1 := StrToInt(Edit1.Text);
   y1 := StrToInt(Edit2.Text);
   x2 := StrToInt(Edit3.Text);
   y2 := StrToInt(Edit4.Text);
   Form2.Canvas.Rectangle(x1, y1, x2, y2);
   if (not Form2.Visible) then Form2.ShowModal;

end;


Т.е. форма2 включается, но прямоугольника на ней нет.
Помогите пожалуйста!


 
aus   (2005-03-09 19:52) [1]

Александер   (09.03.05 19:46)
Form2.Canvas.Rectangle(x1, y1, x2, y2);
if (not Form2.Visible) then Form2.ShowModal


поменяй местами.


 
Virgo_Style ©   (2005-03-09 19:54) [2]

aus   (09.03.05 19:52) [1]
поменяй местами.

:-))) Ну-ну.


 
Александер   (2005-03-09 20:01) [3]

Все равно нету...
Я ввожу х1 = у1 = 400, х2 = у2 = 600

Может это координаты неправильные?
А может в Unit2 нужно что-то вписать дополнительно для формы2 (кроме выхода конечно)?


 
ламер_   (2005-03-09 20:01) [4]


> поменяй местами

И чего получится? пока fm2 не закроется, прямоугольник даже не нарисуется :))
2 Александер - а координаты хоть задавал в пределах окна ? или же брал экранные?


 
aus   (2005-03-09 20:04) [5]

Не заметил ShowModal

Просто дело в том, что форма перерисовывается, т.е. рисовать нужно на видимой форме (в OnPaint, например).


 
Zeqfreed ©   (2005-03-09 20:05) [6]

Александер   (09.03.05 19:46)

procedure TForm1.Button1Click(Sender: TObject);
var x1, y1, x2, y2: integer;
begin
  x1 := StrToInt(Edit1.Text);
  y1 := StrToInt(Edit2.Text);
  x2 := StrToInt(Edit3.Text);
  y2 := StrToInt(Edit4.Text);
  if (not Form2.Visible) then Form2.Show;
  Form2.Canvas.Rectangle(x1, y1, x2, y2);
end;

У меня получилось нарисовать только так, на ShowModal не рисует. Ну и естественно после перерисовки (а при открытии окно перерисовывается) прямоугольник стирается => порядок открытия/рисования нужно поменять.


 
Александер   (2005-03-09 20:08) [7]

Спасибо! Получилось :)


 
Defunct ©   (2005-03-09 22:59) [8]

Александер   (09.03.05 20:08) [7]

Рано радуетесь. Любое окно затрет все ваши художества.



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

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

Наверх




Память: 0.48 MB
Время: 0.041 c
9-1104021278
Enges
2004-12-26 03:34
2005.03.27
Простой вопрос по GLScene


1-1111013071
Morrison
2005-03-17 01:44
2005.03.27
Как организовать запрос пароля?


1-1110644167
Слава
2005-03-12 19:16
2005.03.27
ListView - как установить фокус на элемент ?


10-1086774323
Sea Eagle
2004-06-09 13:45
2005.03.27
OLE + StarOffice


1-1110837724
phobos
2005-03-15 01:02
2005.03.27
Работа с ListBox