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

Вниз

проблема с созданием класса (простая :))   Найти похожие ветки 

 
masterdim   (2002-03-22 11:32) [0]

Уважаемые мастера!
Проблемка у меня тут возникла: хочу переопределить свойство Caption в RxButton-е, чтоб много символов было... Создаю новый тип так:

type
TMyRxSpeedButton = class(TRxSpeedButton)
private
FCaption: array[1..1000] of Char;
public
property Caption: array[1..1000] of Char read FCaption write FCaption;
end;

а Delphi мне ругается, что "Identifier expected bur "ARRAY" found" :((


 
Внук ©   (2002-03-22 11:38) [1]

type
TCaptionArray:array[1..1000] of Char;

TMyRxSpeedButton = class(TRxSpeedButton)
private
FCaption:TCaptionArray;
public
property Caption:TCaptionArray read FCaption write FCaption;
end;



 
masterdim   (2002-03-22 13:53) [2]

здорово!
только на кнопке симолы после 255-го не появляются :(
не подскажете - чего сделать?


 
MBo ©   (2002-03-22 15:37) [3]

положи мемо на панель или bevel, переключай bevelouter, вот тебе и кнопка.


 
Внук ©   (2002-03-22 15:39) [4]

"не подскажете - чего сделать?" - А что уже сделано? ;-)
Каков у Вас механизм перевода значения свойства Caption в графическое изображение? Это ведь уже не такой простой вопрос, как SUBJ. Поэтому подробно объяснять не буду, Вы уж не обижайтесь (не имею в настоящий момент такой возможности). Может, кто другой поможет. Однако, без кода Вашего класса это почти нереально.
Но вот пара намеков: передача надписи на кнопку происходит в стандартной кнопке TButton унаследованной процедурой SetTextBuf (см. исходники)
procedure TControl.SetTextBuf(Buffer: PChar);
begin
Perform(WM_SETTEXT, 0, Longint(Buffer));
Perform(CM_TEXTCHANGED, 0, 0);
end;
Как видим - это посылка сообщения. Класс TButton базируется на стандартном оконном классе Windows BUTTON. Поэтому похоже, что стандартная кнопка не умеет отображат на себе строку больше 255 символов, и придется переписывать Вам свой компонент практически с нуля. Это если есть интерес. А иначе проще найти готовый, наверняка где-то есть.


 
Внук ©   (2002-03-22 15:46) [5]

Не обратил внимания на класс кнопки - TRxSpeedButton. Тогда проще, наверное. Это потомок TGraphicControl, у него можно процедуру отрисовки перекрыть всегда. Только все равно странно... Код бы надо посмотреть.



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
14-9601
Nataliya
2002-02-18 10:26
2002.04.04
сохранение пользовательского интерфейса


1-9582
dymka
2002-03-24 20:02
2002.04.04
Про назначение имен обработчиков событий


7-9658
drunya
2002-01-09 14:42
2002.04.04
Как определить номер который набираешь на телефоне


1-9536
DRUG
2002-03-14 06:10
2002.04.04
Проблема с формой


1-9585
MARcoDEN
2002-03-24 08:20
2002.04.04
Запуск программы