Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.025 c
3-1109616253
Arazel
2005-02-28 21:44
2005.03.27
Можно ли создать ключ без УНИКАЛЬНОСТИ? в MSSQL ?


1-1110800950
lehich
2005-03-14 14:49
2005.03.27
имя файла без расширения


1-1110808721
lehich
2005-03-14 16:58
2005.03.27
winexec и передаваемые параметры


3-1109742790
Павел
2005-03-02 08:53
2005.03.27
1С и дельфи: как получить доступ к БД 1С из дельфи?


3-1109582174
GebbelZ
2005-02-28 12:16
2005.03.27
доступность InterBase




   Наверх