Вниз
Скачать: CL | DM;

Бегуший текст в кнопке   Найти похожие ветки 

← →
FIL-23   (2011-06-14 12:04) [0]

проблемка... есть кнопка и есть текст , текст не влезает в кнопку, поэтому нужно сделать бегущий текст. может кто поделиться кодом?


← →
Sergey   (2011-06-14 12:08) [1]

Ты такое хоть гдето видел?


← →
Ega23 ©   (2011-06-14 12:16) [2]


> Ты такое хоть гдето видел?

У меня такое было написано. И кнопка и Label. Сидел в командировке, было нефиг делать. Ни разу не использовал.


← →
FIL-23   (2011-06-14 12:16) [3]

>Sergey
а что - то в этом есть нереальное?


← →
FIL-23   (2011-06-14 12:17) [4]

>Ega23 ©
дык поделись, видишь же народ нуждается :)


← →
oldman ©   (2011-06-14 12:22) [5]

Цикл начинается
 TButton.Caption:=кусок длинной строки
 сдвиг куска строки
Конец цикла

бежать будет "побуквенно", но сойдет


← →
Ega23 ©   (2011-06-14 12:22) [6]


> дык поделись, видишь же народ нуждается :)


Не осталось, нафиг оно нужно-то?
Да там кода всего ничего, сам напишешь за час.


← →
Sergey   (2011-06-14 12:23) [7]

Нереального ничего. Просто представил себе интерфейс с кнопками в которых бежит текст. Ужас.


← →
Sergey   (2011-06-14 12:26) [8]

Первое что пришло в голову. Текст загоняешь в одномерный массив.
Потом делаешь masiv[i]:=masiv[i+1]
А в последняя запись массива равна первой.
Будет крутится по кругу.


← →
oldman ©   (2011-06-14 12:27) [9]


> Sergey   (14.06.11 12:23) [7]
> Нереального ничего. Просто представил себе интерфейс с кнопками
> в которых бежит текст. Ужас.


Не...
Ужас - дбгрид, в котором бежит текст...


← →
Ega23 ©   (2011-06-14 12:30) [10]


> Ужас - дбгрид, в котором бежит текст...


Ужас - это TBitBtn с иконками от windows 3.1


← →
Rouse_ ©   (2011-06-14 12:34) [11]

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.


← →
Andy BitOff ©   (2011-06-14 12:34) [12]

http://delphimaster.net/view/1-1116778118


← →
MonoLife ©   (2011-06-14 12:35) [13]


> Просто представил себе интерфейс с кнопками в которых бежит
> текст

если при наведении курсора мыши, то сойдет)


← →
Sergey   (2011-06-14 12:39) [14]

При наведении мышки лучше хинт показать.


← →
Andy BitOff ©   (2011-06-14 12:43) [15]


> Sergey   (14.06.11 12:39) [14]
> При наведении мышки лучше хинт показать.

Тоже бегущий


← →
Sergey   (2011-06-14 12:50) [16]

Лучше убегающим. От мышки :)


← →
Inovet ©   (2011-06-14 12:51) [17]

Это что. На днях видел где-то: текст не вошёл на кнопку и отобразаился в две строки, но вылез сверху и снизу за границы кнопки. Видимо специально этого добивались, чтобы при локалицации заметить.


← →
И. Павел ©   (2011-06-14 13:50) [18]

> [0] FIL-23   (14.06.11 12:04)

Сделайте кнопку шире. Не мучьте юзеров!


← →
Sergey   (2011-06-14 14:01) [19]

Если длина кнопки критична, можно сделать две. И на кепшине первой написать первую половину текста на второй - вторую. Обработчик сделать один.


← →
Sergey   (2011-06-14 14:01) [20]

Сори злой я сегодня чегото.


← →
Rouse_ ©   (2011-06-14 14:01) [21]

Кнопку шире делать не надо, тут топик стартеру лучше DesignGuidе проштудировать и прояснить для себя момент, стоит ли использовать кнопку для вывода текста в виде "многабукф ниасилил..."


← →
Ega23 ©   (2011-06-14 14:06) [22]

Кнопки вообще только две должно быть: "ОК" и "Отмена"


← →
oldman ©   (2011-06-14 14:42) [23]

Кнопка должна быть одна.
Большая.
"Хочу, чтобы все заработало!"


← →
Dennis I. Komarov ©   (2011-06-14 14:48) [24]

И "красная"


← →
Sergey   (2011-06-14 14:52) [25]

Удалено модератором
Примечание: Флудить завязывай


← →
Германн ©   (2011-06-14 16:50) [26]

Предлагаю заменить эту кнопку на TSecretPanel от RxLib.
TSecretPanel имеет возможность размещения "скрытого" текста и изображения, доступных для отображения при установленном в True значении свойства Active. Свойство Lines задает список строк текста, который будет "прокручиваться" в направлении снизу вверх или справа налево (в зависимости от значения свойства ScrollDirection) в клиентской области компоненты TSecretPanel при установке Active = True. Если свойство Glyph ассоциировано с графическим изображением, то одновременно это изображение будет показано в области TSecretPanel, заданной свойством GlyphLayout. По окончании прокрутки текста, если свойство Cycled = False, свойство Active автоматически установится в значение False, если же Cycled = True, прокрутка текста возобновится сначала.


← →
Dennis I. Komarov ©   (2011-06-14 16:52) [27]

Вообще-то hint для этого есть...


← →
Медвежонок Пятачок ©   (2011-06-14 18:52) [28]

знание русского и незамутненная голова помогут сделать понятную, короткую и небегающую надпись на кнопке


← →
Mike Kouzmine   (2011-06-15 20:38) [29]

решение не очень. говорю, как пользователь.



Страницы: 1 вся ветка

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



Память: 0.51 MB
Время: 0.005 c
15-1307004281
Term
2011-06-02 12:44
2011.10.02
Установка двух версий делфи на один комп


15-1307638058
uniken1
2011-06-09 20:47
2011.10.02
Драйвер под заказ


2-1307895125
Leon-Z
2011-06-12 20:12
2011.10.02
Предупреждение компилятора.


2-1307627912
Сергей
2011-06-09 17:58
2011.10.02
Автообновление программы - Windows 7 ругается на "обновлятор"


8-1216117521
evil_mike
2008-07-15 14:25
2011.10.02
BitBlt - где косяк?




   Наверх