Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.06.07;
Скачать: [xml.tar.bz2];

Вниз

Панель 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
4-1210912319
Sirus
2008-05-16 08:31
2009.06.07
Управление печатью средствами Дельфи


15-1238724570
Anatoly Podgoretsky
2009-04-03 06:09
2009.06.07
Сервера Google DataCenter


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


2-1240389619
Mulber
2009-04-22 12:40
2009.06.07
Защита ПО


15-1238588488
Кое кто
2009-04-01 16:21
2009.06.07
Интересная задача





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский