![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Бегуший текст в кнопке
FIL-23 © (2011-06-14 12:04:00)проблемка... есть кнопка и есть текст , текст не влезает в кнопку, поэтому нужно сделать бегущий текст. может кто поделиться кодом?
Mike Kouzmine (2011-06-15 20:38:00) [1]решение не очень. говорю, как пользователь.
Медвежонок Пятачок (2011-06-14 18:52:00) [2]знание русского и незамутненная голова помогут сделать понятную, короткую и небегающую надпись на кнопке
Dennis I. Komarov (2011-06-14 16:52:00) [3]Вообще-то hint для этого есть...
Германн (2011-06-14 16:50:00) [4]Предлагаю заменить эту кнопку на TSecretPanel от RxLib.
TSecretPanel имеет возможность размещения "скрытого" текста и изображения, доступных для отображения при установленном в True значении свойства Active. Свойство Lines задает список строк текста, который будет "прокручиваться" в направлении снизу вверх или справа налево (в зависимости от значения свойства ScrollDirection) в клиентской области компоненты TSecretPanel при установке Active = True. Если свойство Glyph ассоциировано с графическим изображением, то одновременно это изображение будет показано в области TSecretPanel, заданной свойством GlyphLayout. По окончании прокрутки текста, если свойство Cycled = False, свойство Active автоматически установится в значение False, если же Cycled = True, прокрутка текста возобновится сначала.
Sergey (2011-06-14 14:52:00) [5]Удалено модератором
Примечание: Флудить завязывай
Dennis I. Komarov (2011-06-14 14:48:00) [6]И "красная"
oldman (2011-06-14 14:42:00) [7]Кнопка должна быть одна.
Большая.
"Хочу, чтобы все заработало!"
Ega23 (2011-06-14 14:06:00) [8]Кнопки вообще только две должно быть: "ОК" и "Отмена"
Rouse_ (2011-06-14 14:01:00) [9]Кнопку шире делать не надо, тут топик стартеру лучше DesignGuidе проштудировать и прояснить для себя момент, стоит ли использовать кнопку для вывода текста в виде "многабукф ниасилил..."
Sergey (2011-06-14 14:01:00) [10]Сори злой я сегодня чегото.
Sergey (2011-06-14 14:01:00) [11]Если длина кнопки критична, можно сделать две. И на кепшине первой написать первую половину текста на второй - вторую. Обработчик сделать один.
И. Павел (2011-06-14 13:50:00) [12]> [0] FIL-23 (14.06.11 12:04)
Сделайте кнопку шире. Не мучьте юзеров!
Inovet (2011-06-14 12:51:00) [13]Это что. На днях видел где-то: текст не вошёл на кнопку и отобразаился в две строки, но вылез сверху и снизу за границы кнопки. Видимо специально этого добивались, чтобы при локалицации заметить.
Sergey (2011-06-14 12:50:00) [14]Лучше убегающим. От мышки :)
Andy BitOff (2011-06-14 12:43:00) [15]
> Sergey (14.06.11 12:39) [14]
> При наведении мышки лучше хинт показать.
Тоже бегущий
Sergey (2011-06-14 12:39:00) [16]При наведении мышки лучше хинт показать.
MonoLife (2011-06-14 12:35:00) [17]
> Просто представил себе интерфейс с кнопками в которых бежит
> текст
если при наведении курсора мыши, то сойдет)
Andy BitOff (2011-06-14 12:34:00) [18]http://delphimaster.net/view/1-1116778118
Rouse_ (2011-06-14 12:34:00) [19]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
ButtonCaptionCursor: Integer;
function GenerateButtonCaption: string;
procedure WMTimer(var Message: TWMTimer); message WM_TIMER;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
SetTimer(Handle, 0, 100, nil);
end;
function TForm1.GenerateButtonCaption: string;
const
ButtonCaption = 'Не хочу учиться, хочу все на блюдечке с голубой каемочкой и чтоб меня все программистом называли...';
ButtonCaptionLen = 8;
var
CurrentLen: Integer;
begin
Result := Copy(ButtonCaption, ButtonCaptionCursor, ButtonCaptionLen);
Inc(ButtonCaptionCursor);
if ButtonCaptionCursor = Length(ButtonCaption) then
ButtonCaptionCursor := 1;
CurrentLen := Length(Result);
if CurrentLen < ButtonCaptionLen then
Result := Result + ' ' + Copy(ButtonCaption, 1, ButtonCaptionLen - CurrentLen - 1);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Button1.Caption := GenerateButtonCaption;
end;
procedure TForm1.WMTimer(var Message: TWMTimer);
begin
Button1.Caption := GenerateButtonCaption;
end;
end.
Ega23 (2011-06-14 12:30:00) [20]
> Ужас - дбгрид, в котором бежит текст...
Ужас - это TBitBtn с иконками от windows 3.1