Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.06.2007, 16:55
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию Поток

Привет.

Вообщем на форме вылезает панель.

Вылезает она просто -
panel1.left:=panel1.lef+1;

Это подтормаживает.
Как я понял это надо делать отдельным потоком , а как я не знаю
Ответить с цитированием
  #2  
Старый 11.06.2007, 17:02
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,551
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от aleksnine
Привет.

Вообщем на форме вылезает панель.

Вылезает она просто -
panel1.left:=panel1.lef+1;

Это подтормаживает.
Как я понял это надо делать отдельным потоком , а как я не знаю
Может эта подойдет - Drawer Panel
Ответить с цитированием
  #3  
Старый 11.06.2007, 17:22
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию

Спасибо, но хотелось бы это со своей реализовать.
Ответить с цитированием
  #4  
Старый 11.06.2007, 17:55
BlackCash BlackCash вне форума
Прохожий
 
Регистрация: 08.06.2007
Сообщения: 42
Репутация: 15
По умолчанию

Ну попробуй такой вариант:
/////////////////////////////////////////////////////////
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

type
TPanelMoveThreard = class(TThread)
private
Procedure MovePanel;
public
Procedure Execute;override;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

Procedure TPanelMoveThreard.MovePanel;
begin
Form1.Panel1.Left := Form1.Panel1.Left + 1;
Sleep(100);
end;

Procedure TPanelMoveThreard.Execute ;
var
i: integer;
begin
for i := 0 to 400 do
MovePanel;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
MovePanel: TPanelMoveThreard;
begin
MovePanel := TPanelMoveThreard.Create(False);
MovePanel.FreeOnTerminate := True;
MovePanel.Resume;
end;

end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:27.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025