|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.11.2016, 01:22 | #1 |
Пользователь
Регистрация: 18.09.2010
Сообщений: 85
|
Компонент наследник TButton не работает совсем!
Здравствуйте коллеги!
Столкнулся с одной проблемой, которую не могу победить долгое время. Начну наверное с того что у меня Delphi 10.1 Berlin Я создал компонент на основе TButton, но он не работает. В компоненте мне надо создать компонент TImage и Label Когда всё собираю и кладу компонент на форму, то отображается в дизайнере как надо, но при запуске кнопка выглядет как Panel кой то и не реагирует как Button(на наведение и нажатие мыши). Но компонент Image и Label присутствуют. Компоненты Image и Label не перекрывают полностью кнопку, да и без них вообще пробывал. Комонент который наследуется от TButton перестаёт реагировать как кнопка и как будто превращается в TPanel У меня Windows 10(но думаю с этим не связано) Кто подскажет, в чём может быть дело, а то бьюсь долго, но видимо что то не так делаю. Обычный TBitBtn не подойдёт, да и разобраться хочется в чём дело. При наведении на Image и при нажатии думаю тоже проблемы будут, но я думаю решу, тут главное вообще разобраться куда свойства кнопки утекают. Спасибо! Код прилагаю. Код:
|
18.11.2016, 02:20 | #2 |
Пользователь
Регистрация: 18.09.2010
Сообщений: 85
|
Вроде разобрался...
У меня Image: TImage; Text: TLabel; Стояли объявлены были в Private, переместил, вроде заработало. Остался вопрос как сделать что бы Image и Label были частью кнопки, а не "загараживали" её. Что бы при нажатии по кнопке где находится Картинка или Label срабатывала именно кнопка, и соответственно работала реакция на наведение мыши на кнопку в любом месте, так где Image и Label тоже |
18.11.2016, 09:45 | #3 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
что я бы попробовал
1.запрет на получение "внутренними" компонентами получения фокуса. Код:
2. попробовать "транслировать" сообщения от Image(TImage) и Text (TLabel) в "свою" кнопку. Код:
Рисовать картинку и текст САМОМУ на канве кнопки. хотя обычно компоненты так и поступают. отказаться от TLabel и Timage. 4. отказаться от своего компонента и перейти к фреймам. (TFrame) 5. Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 18.11.2016 в 09:58. |
|
18.11.2016, 12:27 | #4 |
Пользователь
Регистрация: 18.09.2010
Сообщений: 85
|
1. Данный запрет ничего не даст, сделает объекты только ни активными, но они как прежде будут отображаться.
2. При транслировании таким способом процедура нажатия конечно выполнится, но эффекта нажатии на кнопке не будет, да и не будет эффекта при наведении мышки на курсор. 3. Действительно лучше рисовать самому, и действительно вопрос с остальным сразу пропадёт, но боюсь это не так быстро. Но в дальнейшем так и сделаю. 4. Мне именно нужна кнопка, остальное не подойдёт |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не работает написанная функция через Tbutton | pimple2006 | Общие вопросы Delphi | 6 | 11.12.2011 00:04 |
Ряды (не совсем правильно работает) | pesik.aravir | Помощь студентам | 3 | 02.05.2011 13:06 |
Не совсем корректно работает программа | alexchromets | Помощь студентам | 2 | 26.12.2010 19:45 |
Sharepoint не совсем работает табличное представление. | jojahti | Софт | 0 | 16.11.2009 12:48 |
Компонент TButton... | slim5 | Помощь студентам | 7 | 17.06.2008 17:58 |