Главная страница
    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.036 c
2-1211116922
Johnny
2008-05-18 17:22
2008.06.08
Добавить поле в Access


2-1211040308
lewka-serdceed
2008-05-17 20:05
2008.06.08
Оператор if then


2-1210886447
Johnnnnnn
2008-05-16 01:20
2008.06.08
Динамически создаваемый TWebBrowser событие OnDownloadComplete?


8-1181992036
Michael L Birnov
2007-06-16 15:07
2008.06.08
Прерисовка в канве "моргает"


2-1210706730
Julia
2008-05-13 23:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский