Главная страница
    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.038 c
15-1209062198
Palladin
2008-04-24 22:36
2008.06.08
Кибепрнетика


11-1189516515
vampir_infernal
2007-09-11 17:15
2008.06.08
MHToolTip и GRush


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


4-1190441616
antoxa2005
2007-09-22 10:13
2008.06.08
Открыть порт в Брэндмауэре WinXP SP2


2-1211196897
Сергей
2008-05-19 15:34
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский