Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 14:41   #1
Олександр17
Пользователь
 
Аватар для Олександр17
 
Регистрация: 04.11.2010
Сообщений: 58
По умолчанию работа с формой

как сделать чтоби форма передвигалась в праву сторону екрана а когда чась форми пряталась за екран то чтоби чась ее появлялась слевой сторони екрана. Так чтоби форма плавно двигалась вправо и когда часть етой форми уходила за екран то чтоб справа ета часть форми что спрятана за екраном то чтоб появлялась справа и двигалась к центру ерана.

Последний раз редактировалось Олександр17; 11.12.2010 в 14:55.
Олександр17 вне форума Ответить с цитированием
Старый 11.12.2010, 14:47   #2
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Цитата:
Сообщение от Олександр17 Посмотреть сообщение
как сделать чтоби форма передвигалась в праву сторону екрана а когда чась форми пряталась за екран то чтоби чась ее появлялась слевой сторони екрана.
не разобрал слов
Vikenty вне форума Ответить с цитированием
Старый 11.12.2010, 15:54   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Олександр17
Одной формой так не получится. Придется синхронизировать две формы.
Вот примерно так:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
    procedure wmm(var m:TWMMove);message WM_MOVE;
  public
    { Public declarations }
  end;
const
  Sc_dragmove = $F012;
var
  Form1,form2: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
if self=form2 then begin
 form2.Left:=Form1.Left-Screen.Width;
 form2.Show;
end;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   ReleaseCapture;
  Perform(WM_SYSCOMMAND, Sc_dragmove, 0);

end;

procedure TForm1.wmm(var m: TWMMove);
begin
   form2.Left:=Form1.Left-Screen.Width;
end;

end.
Учитывая
Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
   Application.CreateForm(TForm1, Form2);
  Application.Run;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с формой. levohotnik Microsoft Office Excel 12 09.02.2010 16:24
Работа с формой Skydream Общие вопросы Delphi 10 24.11.2009 21:44
Работа с формой. S_Yevgeniy Общие вопросы Delphi 12 13.10.2009 21:23
Работа с формой! Lemo Помощь студентам 25 16.01.2009 11:49
Работа с формой SunKnight Общие вопросы Delphi 4 17.01.2008 09:13