Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.10.02;
Скачать: 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 вся ветка

Текущий архив: 2011.10.02;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.011 c
2-1307726626
Exterr
2011-06-10 21:23
2011.10.02
Создание кнопок и меню в рантайм


4-1250653039
mamedovvms
2009-08-19 07:37
2011.10.02
создание оболочки для консольного приложения


1-1267355128
AlexChudd
2010-02-28 14:05
2011.10.02
Выделение ячейки в StringGrid по нажатию правой кнопки мыши


15-1307430272
RGV
2011-06-07 11:04
2011.10.02
Актуальность Delphi.


15-1307587555
Дмитрий С
2011-06-09 06:45
2011.10.02
Как запретить всяким quicktime, vlc, acrobat-ам регистрироваться