Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
3-9362
Ghostlady
2002-03-11 16:44
2002.04.04
Падает база данных без видимых причин


1-9452
Андрей Сенченко
2002-03-25 13:13
2002.04.04
StringGrid ... достал уже если честно своей простотой..


14-9623
savva
2002-02-22 10:06
2002.04.04
Вопрос к франко говорящему населению сайта (и не только:)). Точнее просьба :))


3-9426
Ross
2002-02-22 16:44
2002.04.04
Query+clipboard


14-9600
Сергей Иванов
2002-02-21 10:56
2002.04.04
Эльбрус Бабаяна и Pentium Пентковского




   Наверх