Главная страница
    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.46 MB
Время: 0.004 c
3-1221992597
DAdd
2008-09-21 14:23
2009.06.07
Ограничение длины строки


2-1239712914
Darvin
2009-04-14 16:41
2009.06.07
Запись в файл и расход памяти


3-1222218828
РФМ
2008-09-24 05:13
2009.06.07
Наличие картинки


2-1240313348
kostyl_kostyl
2009-04-21 15:29
2009.06.07
Как нарисовать на форме полупрозрачный полигон?


15-1238776244
Pavia
2009-04-03 20:30
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский