Главная страница
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.045 c
1-1110439516
Эли
2005-03-10 10:25
2005.03.27
Чтобы можно было увидеть русские шрифты


3-1109661909
Чеширский_Кот
2005-03-01 10:25
2005.03.27
Data provider or other service returned an E_FAIL status


14-1110344649
Некто
2005-03-09 08:04
2005.03.27
Хокку


1-1111053076
Dimich1978
2005-03-17 12:51
2005.03.27
очитисть array of Ansistring


3-1109681996
Arazel
2005-03-01 15:59
2005.03.27
A как перенести mdb базу в реальном времени