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

Вниз

Определить открыто ли popup меню   Найти похожие ветки 

 
гость2   (2005-12-14 20:07) [0]

Сабж?


 
Button1Click   (2005-12-14 23:18) [1]


procedure TForm1.Button1Click(Sender: TObject);
begin
 caption := "PopupMenu открыто";
 PopupMenu1.Popup(left+100,top+ 100);
 Caption := "PopupMenu закрыто";
end;


 
<code>   (2005-12-16 15:29) [2]


function IsPopUpMenuOpen(h:HWnd):Boolean;
var  p:TWindowPlacement;
begin
 p.Length:=SizeOf(TWindowPlacement); //это нужно только что бы win95 не падала
 GetWindowPlacement(h,@p);
 if (byte(@p.showCmd)shr 7)=1 then result:=false else result:=true;
end;


if IsPopUpMenuOpen(PopupMenu1.Handle) then beep;


 
wal ©   (2005-12-16 15:30) [3]


> if (byte(@p.showCmd)shr 7)=1 then result:=false else result:=true;
Круто :)


 
гость2   (2005-12-17 19:34) [4]


> function IsPopUpMenuOpen(h:HWnd):Boolean;
> var  p:TWindowPlacement;
> begin
>  p.Length:=SizeOf(TWindowPlacement); //это нужно только
> что бы win95 не падала
>  GetWindowPlacement(h,@p);
>  if (byte(@p.showCmd)shr 7)=1 then result:=false else result:
> =true;
> end;
>
>

Всегда возвращает false :(


 
begin...end ©   (2005-12-17 20:36) [5]

> гость2

var
 R: TRect;
begin
 GetMenuItemRect(0, PopupMenu.Handle, 0, R);
 if not IsRectEmpty(R) then
   // открыто
end

Возможно, чушь написал -- тогда прошу прощения. Немного не в себе.


 
<code>   (2005-12-18 00:33) [6]

 
         //работает только если меню открылось над формой
function IsPopUpMenuOpen(h:HWnd):Boolean;
var  p:TWindowPlacement;
begin
p.Length:=SizeOf(TWindowPlacement); //это нужно только что бы win95 не падала
GetWindowPlacement(h,@p);
if (Pbyte(@p.showCmd)^=SW_SHOWNOACTIVATE) then result:=true else result:=false;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
2-1135149994
chelovek
2005-12-21 10:26
2006.01.08
Новый компонент.


6-1127717027
Sam05
2005-09-26 10:43
2006.01.08
Ограничение получаемой информации через Сокеты


1-1133940380
Gear
2005-12-07 10:26
2006.01.08
Как оптимально удалить элемент из динамического массива?


14-1134321526
Карелин Артем
2005-12-11 20:18
2006.01.08
А я в бассейне открытом плавал на днях в снег.


2-1135085285
Я Виктор
2005-12-20 16:28
2006.01.08
Универсальный проигрыватель