Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-53084
oomneeq
2003-02-06 13:41
2003.02.17
Stdcall - необходимость его использования


1-52910
___Nikolay
2003-02-08 16:18
2003.02.17
Что сделать, чтобы работала команда Copy в TWebBrowser-e?


14-53212
DiamondShark
2003-01-31 15:39
2003.02.17
Тут как-то о медальках говорили...


1-52872
Slonic75
2003-02-07 15:25
2003.02.17
Написание сервисов под win…


4-53324
race1
2003-01-07 14:39
2003.02.17
регион





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