Главная страница
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.021 c
15-1200492243
Stexen
2008-01-16 17:04
2008.02.17
Константы дельфи


2-1201302467
altatr
2008-01-26 02:07
2008.02.17
Memo - запись в одну строку


15-1200365060
zSergey
2008-01-15 05:44
2008.02.17
Разыскивается компонент


4-1183687219
AlexanderMS
2007-07-06 06:00
2008.02.17
Стиль элементов управления.


1-1194786224
9899100
2007-11-11 16:03
2008.02.17
обработка строк текстового файла