Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];

Вниз

Не рисуется на TPanel   Найти похожие ветки 

 
TStas ©   (2008-05-13 22:15) [0]

DC := GetDC(Panel1.Handle);
     Canva := TControlCanvas.Create;
     Canva.Handle := DC; //Подготовил канву для рисования

     y1 := SpinEdit2.Top;
     x1 := SpinEdit2.Left - d;

     y2 := SpinEdit1.Top + SpinEdit1.Height;
     x2 := SpinEdit1.Left + SpinEdit1.Width + d;

     With Canva do
       begin
       Pen.Color := clBlack;
       Pen.Width := 2;
       Pen.Style := psSolid;

       MoveTo(x1, y1);
       LineTo(x2, y2);
       end;

     Canva.Free; //Убил канву после рисования
     ReleaseDC(Panel1.Handle, DC);

И ControlCanvas тоже не ришает проблему почему-то. Как же всё-таки нарисовать что-то на панельке?


 
TStas ©   (2008-05-13 22:18) [1]

Удивительно, но проблема ришилась добавлением строчки
Application.ProcessMessages; перед рисованием.
Или это чедеса или я чего-то важного не знаю.


 
Игорь Шевченко ©   (2008-05-13 22:49) [2]


> Не рисуется на TPanel


Больно слышать.

Наверное ты не в тот момент рисуешь


 
Юрий Зотов ©   (2008-05-14 00:38) [3]

А на фига такие пляски с бубнами, ежели у панели уже есть и канва, и даже готовый метод Paint? Хоть слона в нем рисуй.


 
Loginov Dmitry ©   (2008-05-14 00:48) [4]

> Удивительно, но проблема ришилась добавлением строчки
> Application.ProcessMessages; перед рисованием.


Чудеса!...


 
Германн ©   (2008-05-14 01:07) [5]


> Юрий Зотов ©   (14.05.08 00:38) [3]
>
> А на фига такие пляски с бубнами, ежели у панели уже есть
> и канва

У панели есть канва?


 
Loginov Dmitry ©   (2008-05-14 07:47) [6]

> У панели есть канва?


Она и у TCustomControl есть.


 
Германн ©   (2008-05-14 17:27) [7]


> Loginov Dmitry ©   (14.05.08 07:47) [6]

Хм. Вот и советуй после этого читать справку. :(((


 
Игорь Шевченко ©   (2008-05-14 17:47) [8]

Германн ©   (14.05.08 17:27) [7]

В справке написано, что есть, но protected...


 
Германн ©   (2008-05-14 17:48) [9]


> Игорь Шевченко ©   (14.05.08 17:47) [8]

В справке из Д6 ничего не написано :(


 
Игорь Шевченко ©   (2008-05-14 17:50) [10]

Германн ©   (14.05.08 17:48) [9]

Не имея D6 рискну предположить, что там есть раздел hierarchy или inheritance или как-то подобно


 
Германн ©   (2008-05-14 17:57) [11]


> Игорь Шевченко ©   (14.05.08 17:50) [10]

Есть конечно. Именно из hierarchy я в конце концов и понял свою ошибку. Но...


 
Юрий Зотов ©   (2008-05-14 21:04) [12]

Protected, конечно. И что? Никаких проблем. Можно наследника в три (если точно - в четыре) строчки написать, можно hack-классом туда достучаться.


 
Юрий Зотов ©   (2008-05-14 21:07) [13]

Чтобы не услышать "код давай", даю код. Ровно четыре строчки, как обещал.

TMyPanel = class (TPanel)
public
 property Canvas;
end;

:о)


 
Loginov Dmitry ©   (2008-05-14 21:26) [14]

> Ровно четыре строчки, как обещал.


Целых три лишних строчки... Эх...
=)


 
Loginov Dmitry ©   (2008-05-14 21:28) [15]

Хотя...
Хм... Зато универсально. Из любого модуля работать будет...


 
TStas ©   (2008-05-15 21:38) [16]


> Юрий Зотов ©   (14.05.08 00:38) [3]
> А на фига такие пляски с бубнами, ежели у панели уже есть
> и канва, и даже готовый метод Paint? Хоть слона в нем рисуй.
>

Юрий, создание потомка панельки, у которого есть канва - это, конечно, очень хороший способ, но создавать его пришлось бы в RunTime"е, а вот этого бы очень не хотель, учитывая, что нарисовать мне было надо лишь одну-единственную косую черту.
Просто там много нанелек и групбоксов, которые последовательно вложены друг в друга.
А за ответ спасибо большое. Вот не знал, что у панельки есть канва, хотя, по идеек, должна быть - она (панелька) ведь окошку родственница.


 
Германн ©   (2008-05-15 21:52) [17]


> TStas ©   (15.05.08 21:38) [16]
>
>
> > Юрий Зотов ©   (14.05.08 00:38) [3]
> > А на фига такие пляски с бубнами, ежели у панели уже есть
> > и канва, и даже готовый метод Paint? Хоть слона в нем
> рисуй.
> >
>
> Юрий, создание потомка панельки, у которого есть канва -
>  это, конечно, очень хороший способ, но создавать его пришлось
> бы в RunTime"е, а вот этого бы очень не хотель

Ты не понял. Про создание потомка ЮЗ ничего не говорил.
Посмотри его совет в http://delphimaster.net/view/2-1210834088/


 
TStas ©   (2008-05-15 22:02) [18]

Вот теперь понял, спасибо. :)



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

Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.04 c
2-1210894155
engine
2008-05-16 03:29
2008.06.08
Отличия свойства Height в дизайнтайме и рантайме


2-1210970505
Woohoo
2008-05-17 00:41
2008.06.08
Автоматическое обновление поля таблицы


2-1211120855
Franzy
2008-05-18 18:27
2008.06.08
Как запустить из программы другую (консольную) программу?


3-1199693050
vann
2008-01-07 11:04
2008.06.08
Как прочесть строку юникод из Access а?


15-1208941436
Гость1468
2008-04-23 13:03
2008.06.08
Нанесение идентефикационной информации на документ. Как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский