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

Вниз

Панель onTop   Найти похожие ветки 

 
товарищ вася   (2009-04-23 10:28) [0]

Как отобразить панель поверх формы,чтобы она как popup меню могла выходить за границы формы?
Спасибо.


 
brother ©   (2009-04-23 10:32) [1]

никак, только если эта панель будет на другой форме, которую ты можешь показывать в любом месте экрана


 
{RASkov} ©   (2009-04-23 10:45) [2]

... или вообще лучше вместо панели использовать просто форму...
можно и панель заставить так вести себя, но к чему это?


 
Anatoly Podgoretsky ©   (2009-04-23 10:54) [3]

> товарищ вася  (23.04.2009 10:28:00)  [0]

Popup меню никогда часть формы не был, это отдельное окно.


 
товарищ вася   (2009-04-23 11:15) [4]

Спасибо за ответы.

> можно и панель заставить так вести себя, но к чему это?

потому что на popup комбобокс не кинешь...
На ричедите он маусмув выделяется слово, На  ричедит-е онмоусдаун должно выходить окно со свойствами выделенного слова...
Если панель выходит за границы:
procedure TForm1.CorrectPos;
begin
if (Panel1.Left+Panel1.Width>Form1.Width) then  Panel1.Left:=Panel1.Left-Panel1.Width;
if (panel1.Top+Panel1.Height+trunc(RichEdit1.Font.Size*3)>Form1.HEight) then Panel1.Top:=Panel1.Top-Panel1.Height;
end;

Можно ли вместо корректирования показать поверх формы?


 
clickmaker ©   (2009-04-23 11:45) [5]

> Можно ли вместо корректирования показать поверх формы?

а если там конец экрана?


 
brother ©   (2009-04-23 12:05) [6]

> [4] товарищ вася   (23.04.09 11:15)

Антон, ответ на [0] ты получил, остальное дело техники


 
Игорь Шевченко ©   (2009-04-23 12:09) [7]


> Как отобразить панель поверх формы,чтобы она как popup меню
> могла выходить за границы формы?


Назначить рабочий стол ее ParentWindow


 
товарищ вася   (2009-04-23 21:20) [8]


> Назначить рабочий стол ее ParentWindow

  GetCursorPos(pt);
  pt.X:=pt.X-MainForm.Left;
  pt.Y:=pt.Y-MainForm.Top;
  Panel1.Top:=pt.Y;
  Panel1.Left:=pt.X;
  Panel1.ParentWindow:=GetDesktopWindow;
  Panel1.Show;

Так, к сожалению не работает


 
{RASkov} ©   (2009-04-23 21:34) [9]

> [4] товарищ вася   (23.04.09 11:15)
> > можно и панель заставить так вести себя, но к чему это?
>
> потому что на popup комбобокс не кинешь...

Ну так почему для этого выбрана именно панель, а не TForm с BorderStyle=bsNone например?

> [8] товарищ вася   (23.04.09 21:20)

Windows.SetParent(Panel1.Handle, GetDesktopWindow);
Но это не решение твоей проблемы, т.е. частично, теперь нужно еще много чего изменить и в итоге получим окно с теми же практически свойствами, что и TForm....


 
товарищ вася   (2009-04-23 21:45) [10]


> Windows.SetParent(Panel1.Handle, GetDesktopWindow);Но это
> не решение твоей проблемы, т.е. частично, теперь нужно еще
> много чего изменить и в итоге получим окно с теми же практически
> свойствами, что и TForm....

Ясно, значит выводим форму, со свойством bsNone...
Благодарю-с.



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
15-1238790611
Юрий
2009-04-04 00:30
2009.06.07
С днем рождения ! 4 апреля 2009 суббота


15-1237999517
Городской Шаман
2009-03-25 19:45
2009.06.07
Offline репликация данных своими руками.


2-1240393863
IceBeerg
2009-04-22 13:51
2009.06.07
TStringList...IndexOf и Find


15-1238861573
sof.dff
2009-04-04 20:12
2009.06.07
аудиовыходы


3-1222067899
Клён новичок
2008-09-22 11:18
2009.06.07
Как подставить переменную в запрос?