Форум: "Основная";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Внизпроблема с созданием класса (простая :)) Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.068 c