Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-9568
Beginner
2002-03-24 21:41
2002.04.04
SaveDialog


1-9523
Beginner
2002-03-23 16:12
2002.04.04
OpenDialog


1-9539
GMV
2002-03-24 00:35
2002.04.04
Программа для ком порта


1-9503
dr0Ne64
2002-03-22 21:23
2002.04.04
Hex,Bin,Dec...


7-9659
nobody2002
2002-01-10 13:44
2002.04.04
Запуск программы в определенное время





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский