Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
ВнизОпределить открыто ли 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c