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

Вниз

Форма без заголовка   Найти похожие ветки 

 
Евгений Р.   (2007-11-06 20:12) [0]

Хочу создать форму без заголовка в нужном месте экрана.
Если указывается    result.BorderStyle:=bsNone, то форма открывается в левом верхнем углу. Если строка закомментирована, то открывается как положено.

  result:=TfWorkChees_Plan_Hint.Create(application);
  result.BorderStyle:=bsNone;
  rect:=etc.rect;
(etc.chPlanPanel).owner).ClientToScreen(rect.TopLeft);
  rect.TopLeft:=tPanel(etc.chPlanPanel).ClientToScreen(rect.TopLeft);
(etc.chPlanPanel).owner).ClientToScreen(rect.BottomRight);
  rect.BottomRight:=tPanel(etc.chPlanPanel).ClientToScreen(rect.BottomRight);
  result.Left:=rect.Left;
  result.Top:=rect.Bottom;


 
Dib@zol ©   (2007-11-06 20:36) [1]

Данный выдранный фрагмент не даёт полного представления о том, что ты хочешь сделать. Конкретизируй.
А пока что ограничусь общим советом: юзай MoveWindow.


 
Евгений Р.   (2007-11-06 20:59) [2]

строка frm.left=100 - перемещает форму в точку с координатой 100.

Если ей предшествует строка
frm.BorderStyle:=bsNone,
то перемещение не работает.
Почему?


 
Dib@zol ©   (2007-11-06 21:23) [3]

У меня всё работает (в FormCreate). Ты где это обрабатываешь? Если можешь, приведи простенький пример, где етот окоянный еррор появляется. По тому коду, что ты выкладываешь, понять этого нельзя.


 
Евгений Р.   (2007-11-06 22:39) [4]

О каком ерроре идет речь? Я говорю, что форма не перемещается по экрану при изменении Top и Left!


 
{RASkov}   (2007-11-07 01:33) [5]

> [4] Евгений Р.   (06.11.07 22:39)
> Я говорю, что форма не перемещается по экрану при изменении Top и Left!

Наверное только у тебя этот "косяк".)
Вот так вот перемещается:
procedure SF;
begin
 with TForm.Create(Application) do begin
  Show;
  BorderStyle:=bsNone;
  Left:=(Screen.Width-Width) div 2;
  ShowMessage("До перемещения");
  Left:=Left-100;
  ShowMessage("После перемещения");
  Free;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SF;
end;

..да и в чем сомнения могут быть?
В прочем что у тебя тут....

>  rect:=etc.rect;
> (etc.chPlanPanel).owner).ClientToScreen(rect.TopLeft);
>  rect.TopLeft:=tPanel(etc.chPlanPanel).ClientToScreen(rect.TopLeft);
> (etc.chPlanPanel).owner).ClientToScreen(rect.BottomRight);
>  rect.BottomRight:=tPanel(etc.chPlanPanel).ClientToScreen(rect.BottomRight);
>  result.Left:=rect.Left;
>  result.Top:=rect.Bottom;

...происходит, я не вникал.)


 
Евгений Р.   (2007-11-07 12:21) [6]

Спасибо, RASkov!

Свел проблему в пробный проект.

Форму создаю динамически.
Под Д5 работает и button1 и button2.
Под Д2005 правильно работает только button2, т.е. при удалении заголовка на изменение положения реагирует только после показа формы.
В принципе не существенно, но дойти нужно было.

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button2Click(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   frm:tForm;
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  frm:=tFOrm.Create(application);
  frm.Left:=100;
  frm.top:=100;
  frm.BorderStyle:=bsNone;

  frm.show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  frm:=tFOrm.Create(application);
  frm.BorderStyle:=bsNone;
  frm.show;
  frm.Left:=100;
  frm.top:=100;
end;

end.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
8-1173686228
feodul
2007-03-12 10:57
2008.02.17
Где найти учебники по работе с расровыми изображениями?


2-1201174932
KROT
2008-01-24 14:42
2008.02.17
Нужна помощь по базе Фильтрация по Table(Paradox)


6-1179914860
Novic
2007-05-23 14:07
2008.02.17
Вызов метода на сервере приложений


15-1200502181
rts111
2008-01-16 19:49
2008.02.17
Подскажите, где найти описание формата *.doc?


15-1200229817
wp2
2008-01-13 16:10
2008.02.17
Что это может быть с компьютером?