![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Написать свой компонент, состоящий из стандартных
iviom © (2007-04-25 15:46:00)Здравсвуйте. Направьте на верный путь, пожалуйста.
Хочу написать маленькую компоненту следующего вида:
Панелька, на ней 36 кнопочек русского (английского) алфавита.
Обработка событий кнопочек.. пару свойств...
Что-то не представляю, с чего начать-то? Какое тут приложение(тип) надо создавать?
homm (2007-04-27 21:23:00) [1]> Как бы не так! TBitBtn является потомком TButton.
Ну может быть, может быть :)
Amoeba (2007-04-27 15:26:00) [2]
> или TBitBtn.
Как бы не так! TBitBtn является потомком TButton.
homm (2007-04-27 15:17:00) [3]> Почему вы советуете не использовать TButton?
Потому что для TButton система выделит отдельный рессурс, а наследника TGraphicsControl будет рисовать родительское окно, кем бы он не был, TLabel TSpeedButton или TBitBtn.
DimaBr (2007-04-27 14:25:00) [4]Хорошо, давайте напишем контрол (если хотите я вам буду помогать).
Как мне кажется - лучший родитель - TToolBar
Первоначально:
1. Имеют ли (должны ли иметь) кнопки фокус
2. Есть на панели что-нибудь ещё кроме кнопок (если есть, то находится ли все в одном ряду).
iviom (2007-04-27 14:09:00) [5]Ох... смысл в том, что к виду этой злощастной панельки предъявлены требования, чтобы она была именно такая - с кнопочками, с кнопочками переключения на русский и на английский. Мало того, она уже реализована и работает. Но возник вопрос сохранения (после повторного входа) последней нажатой кнопки. Ессно можно сохранять напримет текст этой кнопки, потом в цикле пробегать через все эти кнопки и если выполняется условие, то нажимать.. Но как-то не хочется этим все загромождать проект. Поэтому было принято решение (мной =)) либо делать фрайм, либо писать это все в компоненте. С фраймом вообще фигня какая-то.. Не понимаю, как к нему обрщаться - создаю в нем эту всю конструкцию, переношу на форму. И как будто его нет... Просто все мои панельки и кнопки так и лежат. А мне хочется, чтобы можно было писать ему всякие свойства, функции, чтобы все красиво работало..
DimaBr (2007-04-27 14:00:00) [6]
> такая панелька, в которой можно просто нажать кнопку
Повесьте TPanel в свойство Caption которого ввыдите "АБВГДЕЁЖЗИЙКЛМН...." и обрабатывайте OnClick
iviom (2007-04-27 13:54:00) [7]Может и подходит, но уж такова структура, что будет и строка поиска - вводят туда последовательно буквы и в гриде ищется на эту последовательность строки и такая панелька, в которой можно просто нажать кнопку и все записи на эту кнопку отфильтруются.
Задумка такова.
DimaBr (2007-04-27 13:50:00) [8]
> И они будут просто нажимат на кнопку, чтобы делать поиск
> в гриде на данную букву.
Чем TLabel не подходит ???
iviom (2007-04-27 13:39:00) [9]А вот еще хочу спросить, чем плохо делать компонент на основе TPanel, например, а на него динамически расставлять кнопки TButton? Почему вы советуете не использовать TButton?
iviom (2007-04-27 13:35:00) [10]Да, похоже остановлюсь на frame. А применение ей такое:
пользователем лень писать что-то в строке поиска.. И они будут просто нажимат на кнопку, чтобы делать поиск в гриде на данную букву.
Вот такие ленивцы =)
_Аноним (2007-04-26 22:12:00) [11]
> StriderMan ©
</I
> я бы посоветовал TGraphicControl, у него канва уже есть
>
Канву создать не проблема.
А вот окном TGraphicControl не является. Что не есть хорошо в данном раскладе.
Игорь Шевченко (2007-04-26 16:35:00) [12]
> Хочу написать маленькую компоненту следующего вида:
> Панелька, на ней 36 кнопочек русского (английского) алфавита.
>
> Обработка событий кнопочек.. пару свойств...
Зачем именно компоненту ? Напиши фрейм
StriderMan (2007-04-26 16:26:00) [13]
> _Аноним © (26.04.07 11:13) [4]
> Ну, например, TCustomControl
я бы посоветовал TGraphicControl, у него канва уже есть
_Аноним (2007-04-26 11:13:00) [14]Ты спрашиваешь, кого выбрать предком?
Ну, например, TCustomControl
DimaBr (2007-04-25 16:54:00) [15]не вижу большого применения такому компоненту, а начать можно с TToolButton + коллекция кнопок.
Kolan (2007-04-25 16:31:00) [16]> Какое тут приложение(тип) надо создавать?
Начать можно c Munu->Components-> Create new component.
homm (2007-04-25 16:23:00) [17]> Что-то не представляю, с чего начать-то? Какое тут приложение(тип)
> надо создавать?
Главное в качестве кнопок TButton не используй. Что - нибудь от TGraphicsControls наследущееся лучше.