Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Передвижение текста в Мемо ...   Найти похожие ветки 

 
Veles   (2003-02-07 14:56) [0]

Господа, подскажите возможно ли сделать сдвигающийся текст в ТМемо (а-ля "Звездные войны") ?


 
BOA_KAA   (2003-02-07 14:59) [1]

С уменьшением размера шрифта - можно, но так, как в Звездных войнах. Для этого OpenGL или хотя бы Канвас юзать надо бы.


 
Palladin   (2003-02-07 15:02) [2]

а ты думаешь создатели звездных войн TMemo использовали? :)))


 
BOA_KAA   (2003-02-07 15:02) [3]

Прошу прощения, с уменьшением размера в TMemo нельзя, я другое имел ввиду:-)


 
BOA_KAA   (2003-02-07 15:03) [4]


> Palladin © (07.02.03 15:02)

А они вообще компьютер использовали?:-)


 
Veles   (2003-02-07 15:05) [5]

Народ, у Вас что с чуйством юмора напряг или наоборот...
Я ведь серьезно, не для кина нужно, дя дела.
У человека проблема с руками, надо сделать, чтобы текст медленно сьезжал вверх, он тогда будет успевать читать...
А вы смеетесь, не хорошо...


 
MBo   (2003-02-07 15:09) [6]

scrollwindow


 
DN   (2003-02-07 15:10) [7]

Veles (07.02.03 15:05)
Введи в поиске "Звездные войны", здесь этот вопрос уже поднимался в том году, точно помню, и долго обсуждался.


 
Palladin   (2003-02-07 15:12) [8]

советую программу ICE Book Reader
там есть автоскроллинг
и вообще красивая программа.


 
BOA_KAA   (2003-02-07 15:28) [9]

Если я не шибаюсь, то когда-то MBo давал такой исходник

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Timer1: TTimer;
Panel1: TPanel;
Button1: TButton;
Memo1: TMemo;
PaintBox1: TPaintBox;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
CurPos:Integer;
b:TBitmap;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
b:=TBitmap.Create;
Timer1.Enabled:=True;
CurPos:=0;
DoubleBuffered:=True;
b.width:=PaintBox1.Width;
b.height:=PaintBox1.height;
b.Canvas.Font.Name:="Arial";
b.Canvas.Font.Color:=clLime;
b.Canvas.Brush.Style:=bsClear;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
var i,y,w:integer;
begin
PatBlt(b.Canvas.Handle,0,0,b.Width,b.Height,Blackness);
y:=b.Height-CurPos;
with b.Canvas do
for i:=0 to Memo1.Lines.Count-1 do begin
Font.Size:=round((y*32)/b.Height) + 8;
w:=TextWidth(Memo1.Lines[i]);
TextOut((b.Width-w) div 2,y,Memo1.Lines[i]);
y:=y+Font.Size;
end;
PaintBox1.Canvas.Draw(0,0,b);
Inc(CurPos);
end;

end.


 
MBo   (2003-02-07 15:33) [10]

>BOA_KAA
Да это баловство ;)

Для задачи автора ветки подойдет MBo © (07.02.03 15:09),
иногда можно использовать EM_SETRECT


 
Veles   (2003-02-07 16:50) [11]

Если не секрет, что есть PatBlt ?


 
Veles   (2003-02-10 15:17) [12]

И все таки, что есть PatBlt ?


 
MBo   (2003-02-10 15:34) [13]

> что есть PatBlt ?
см. хелп (Windows SDK)



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
6-53148
lesa
2002-12-26 15:00
2003.02.17
Проблемы с работой INDY9


3-52733
Чайник
2003-01-30 10:40
2003.02.17
DBEdit и поле даты


3-52716
DenKop
2003-01-28 14:41
2003.02.17
BDE и XP


14-53219
Shuma
2003-01-31 20:08
2003.02.17
RX Компоненты


3-52798
Ihtiandr
2003-01-31 14:54
2003.02.17
DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский