Главная страница
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.47 MB
Время: 0.012 c
3-9394
SashaG
2002-03-12 08:59
2002.04.04
Пытаюсь св-ву Filter TTable сделать так:


1-9449
sdan
2002-03-25 12:04
2002.04.04
TVZip


1-9543
masterdim
2002-03-22 11:32
2002.04.04
проблема с созданием класса (простая :))


14-9614
VID
2002-02-20 18:22
2002.04.04
Об InterBase


1-9460
BDRON
2002-03-24 22:10
2002.04.04
CheckListBox