![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.10.2017
Сообщений: 6
|
![]()
Всем привет!
Делаю файловый менеджер с помощью ShellListView и столкнулся с отсутствием у этого компонента события OnPaint, когда понадобилось поставить на фон картинку. Рисование на Canvas картинку ставит, но после Access Violation. Стоит изменить размер окна или развернуть - еще трое Access Violation и программа вешается. Да и фон надписей к иконкам остается белым, стоит провести над ними мышкой - остается белая полоса, картинка обратно не возвращается Видел, вроде такое решают, создавая свой компонент, но я для этого слишком нуб. Как сделать правильно? Прошу не отсылать к FileListView. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.03.2013
Сообщений: 109
|
![]()
Странно это. Код в студию.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 05.10.2017
Сообщений: 6
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.03.2013
Сообщений: 109
|
![]()
Оборачивайте создание и уничтожение объектов в блок try/finally.
А не проще ли сразу выводить на канвас ShellListView битмап из Image.Picture.Bitmap? Последний раз редактировалось Alex11223; 09.10.2017 в 16:33. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 05.10.2017
Сообщений: 6
|
![]()
Насчет сразу на канвас - спасибо, так действительно должно быть проще, но я пробовал вешать перерисовку на OnPaint формы и панели - надеялся, что поможет. Вот для этих экспериментов BitPicture и сделана глобальной переменной. Увы, факир был пьян и фокус закончился новыми, свежими Access Violation...
Насчет try/finally - можно поподробнее для тех, кто нуб? ![]() Последний раз редактировалось Gambetto; 09.10.2017 в 23:10. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 02.03.2013
Сообщений: 109
|
![]()
Использовать и удалять объекты желательно так в Delphi:
Код:
Блин, где здесь кнопка "Тэг-код"? ![]() Для чего переменная p: TGraphic? ______________________ Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум. Последний раз редактировалось Alex11223; 11.10.2017 в 12:02. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть ли аналог события формы OnPaint для TImage ? | Vova777 | Общие вопросы Delphi | 2 | 21.05.2012 20:09 |
Рисование в OnPaint | fredwriter | Помощь студентам | 4 | 05.12.2011 23:39 |
OnPaint | Juffin | Общие вопросы Delphi | 1 | 12.05.2009 15:44 |
добавление обработчика OnPaint в TPanel | Mixasik | Общие вопросы Delphi | 2 | 23.07.2008 17:36 |
ShellListView | sezam | Компоненты Delphi | 0 | 27.06.2008 06:58 |