Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

Написать свой компонент, состоящий из стандартных   Найти похожие ветки 

 
iviom   (2007-04-25 15:46) [0]

Здравсвуйте. Направьте на верный путь, пожалуйста.
Хочу написать маленькую компоненту следующего вида:
Панелька, на ней 36 кнопочек русского (английского) алфавита.
Обработка событий кнопочек.. пару свойств...

Что-то не представляю, с чего начать-то? Какое тут приложение(тип) надо создавать?


 
homm ©   (2007-04-25 16:23) [1]

> Что-то не представляю, с чего начать-то? Какое тут приложение(тип)
> надо создавать?

Главное в качестве кнопок TButton не используй. Что - нибудь от TGraphicsControls наследущееся лучше.


 
Kolan ©   (2007-04-25 16:31) [2]

> Какое тут приложение(тип) надо создавать?

Начать можно c Munu->Components-> Create new component.


 
DimaBr ©   (2007-04-25 16:54) [3]

не вижу большого применения такому компоненту, а начать можно с  TToolButton + коллекция кнопок.


 
_Аноним ©   (2007-04-26 11:13) [4]

Ты спрашиваешь, кого выбрать предком?
Ну, например, TCustomControl


 
StriderMan ©   (2007-04-26 16:26) [5]


> _Аноним ©   (26.04.07 11:13) [4]
> Ну, например, TCustomControl

я бы посоветовал TGraphicControl, у него канва уже есть


 
Игорь Шевченко ©   (2007-04-26 16:35) [6]


> Хочу написать маленькую компоненту следующего вида:
> Панелька, на ней 36 кнопочек русского (английского) алфавита.
>
> Обработка событий кнопочек.. пару свойств...


Зачем именно компоненту ? Напиши фрейм


 
_Аноним ©   (2007-04-26 22:12) [7]


> StriderMan ©
</I
> я бы посоветовал TGraphicControl, у него канва уже есть

>

Канву создать не проблема.
А вот окном TGraphicControl не является. Что не есть хорошо в данном раскладе.


 
iviom   (2007-04-27 13:35) [8]

Да, похоже остановлюсь на frame. А применение ей такое:
пользователем лень писать что-то в строке поиска.. И они будут просто нажимат на кнопку, чтобы делать поиск в гриде на данную букву.
Вот такие ленивцы =)


 
iviom   (2007-04-27 13:39) [9]

А вот еще хочу спросить, чем плохо делать компонент на основе TPanel, например, а на него динамически расставлять кнопки TButton? Почему вы советуете не использовать TButton?


 
DimaBr ©   (2007-04-27 13:50) [10]


> И они будут просто нажимат на кнопку, чтобы делать поиск
> в гриде на данную букву.


Чем TLabel не подходит ???


 
iviom   (2007-04-27 13:54) [11]

Может и подходит, но уж такова структура, что будет и строка поиска - вводят туда последовательно буквы и в гриде ищется на эту последовательность строки и такая панелька, в которой можно просто нажать кнопку и все записи на эту кнопку отфильтруются.
Задумка такова.


 
DimaBr ©   (2007-04-27 14:00) [12]


> такая панелька, в которой можно просто нажать кнопку

Повесьте TPanel в свойство Caption которого ввыдите  "АБВГДЕЁЖЗИЙКЛМН...." и обрабатывайте OnClick


 
iviom   (2007-04-27 14:09) [13]

Ох... смысл в том, что к виду этой злощастной панельки предъявлены требования, чтобы она была именно такая - с кнопочками, с кнопочками переключения на русский и на английский. Мало того, она уже реализована и работает. Но возник вопрос сохранения (после повторного входа) последней нажатой кнопки. Ессно можно сохранять напримет текст этой кнопки, потом в цикле пробегать через все эти кнопки и если выполняется условие, то нажимать.. Но как-то не хочется этим все загромождать проект. Поэтому было принято решение (мной =)) либо делать фрайм, либо писать это все в компоненте. С фраймом вообще фигня какая-то.. Не понимаю, как  к нему обрщаться - создаю в нем эту всю конструкцию, переношу на форму. И как будто его нет... Просто все мои панельки и кнопки так и лежат. А мне хочется, чтобы можно было писать ему всякие свойства, функции, чтобы все красиво работало..


 
DimaBr ©   (2007-04-27 14:25) [14]

Хорошо, давайте напишем контрол (если хотите я вам буду помогать).
Как мне кажется - лучший родитель - TToolBar
Первоначально:
1. Имеют ли (должны ли иметь) кнопки фокус
2. Есть на панели что-нибудь ещё кроме кнопок (если есть, то находится ли все в одном ряду).


 
homm ©   (2007-04-27 15:17) [15]

> Почему вы советуете не использовать TButton?

Потому что для TButton система выделит отдельный рессурс, а наследника TGraphicsControl будет рисовать родительское окно, кем бы он не был, TLabel TSpeedButton  или TBitBtn.


 
Amoeba ©   (2007-04-27 15:26) [16]


> или TBitBtn.

Как бы не так! TBitBtn является потомком TButton.


 
homm ©   (2007-04-27 21:23) [17]

> Как бы не так! TBitBtn является потомком TButton.

Ну может быть, может быть :)



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.048 c
15-1177295807
Slider007
2007-04-23 06:36
2007.05.20
С днем рождения ! 23 апреля


15-1177245590
ProgRAMmer Dimonych
2007-04-22 16:39
2007.05.20
Знаю, что решение совсем простое, но...


15-1177107567
{RASkov}
2007-04-21 02:19
2007.05.20
Временный битмап


15-1177320100
Yanis
2007-04-23 13:21
2007.05.20
Посмеялся :)


2-1178108463
Neket
2007-05-02 16:21
2007.05.20
Програмно установить ActiveSheet