|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Непонятка с Canvas у TShape
Мужики, есть одна небольшная проблема, даже сказать, головная боль.
есть O: TShape; Создаю экземпляр. Пытаюсь вывести текст при помощи Canvas.TextOut(0,0,'123456'); При первой попытке всё выводится. Потом... Изменяю размер при помощи Width := 200; пытаюсь вывести текст ещё раз - уже не получается. Причём видно, что он прорисовывается, но мельком, почти незаметно, потом исчезает. Вот код: var O: TShape; procedure TForm1.CreateObj; begin O := TShape.Create(Self); O.Parent := Form1; O.Visible := True; end; procedure TForm1.DelObj; begin O.Free; end; procedure TForm1.DrawText1; begin O.Canvas.TextOut(0,0,'12345'); end; {пока что всё нормально} procedure TForm1.DrawText2; begin O.Width := 200; O.Height := 200; O.Canvas.TextOut(0,30,'67890'); //Invalidate; //Refresh; //Canvas.Refresh; end; {теперь нет ни первой ни второй надписи} Пробывал в DrawText2 в конце ставить три методы, что закомменчены, ноль результат. Видимо что то не учёл, кто нибудь сталкивался? |