Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Popup в форме  [new]
Sas_N
Member

Откуда: Челябинск
Сообщений: 41
Помогите разобраться, как закрыть Popup интегрированный в форму?
Проблема в следующем не могу по кнопке выход сразу деактивировать Popup и удалить форму, если фокус не на меню то все нормально, а в противном случае дважды приходиться нажимать кнопсу ВЫХОД.
Данная форма вызывается из кнопочного меню верхнего уровня
Заранее благодарен
**************************
oform=CREATEOBJECT("form3")
****Заголовок
oform.caption = "Справочная информация"

oform.AddObject('cmdCmndBtn5','cmdMyCmndQuit')
oform.cmdCmndBtn5.Visible =.T. &&


oform.show(1)
READ Events
RELEASE all
****Форма для справочников
DEFINE CLASS form3 as Form
Name="form3"
ShowWindow =1 && In Top-Level Form
WindowState=2 && Maximized
Borderstyle=2

PROCEDURE Init
*Определение меню справочников
DEFINE POPUP sPopSpr FROM 3,75 TO 38,120 FONT 'TimesNewRoman', 12 STYLE 'B' COLOR SCHEME 2 &&IN WINDOW form3

DEFINE BAR 1 OF sPopSpr ;
PROMPT '\<Справочная информация' && First item
DEFINE BAR 2 OF sPopSpr ;
PROMPT '\-' && Second item
DEFINE BAR 3 OF sPopSpr ;
PROMPT '\<Справочник Лицензий '
DEFINE BAR 4 OF sPopSpr ;
PROMPT '\<Выход' && Fourth item

ON SELECTION BAR 4 OF sPopSpr deactivate popup sPopSpr

ACTIVATE popup sPopSpr Nowait

ENDPROC


ENDDEFINE


****Кнопка ВЫХОД
DEFINE CLASS cmdMyCmndQuit AS CommandButton
Caption = '\<Выход' && Надпись на кнопке
Left = 720
Top = 640
Width = 200
Height = 35 && Высота
FontSize = 11
FontBold =.t.

PROCEDURE Click
Thisform.Release()
DEACTIVATE popup sPopSpr
ENDPROC

ENDDEFINE

define class MyCustom_Menu as Custom
PROCEDURE Init
*Определение меню справочников
DEFINE POPUP sPopSpr FROM 3,75 TO 38,120 FONT 'TimesNewRoman', 12 STYLE 'B' COLOR SCHEME 2 &&IN WINDOW form3

DEFINE BAR 1 OF sPopSpr ;
PROMPT '\<Справочная информация' && First item
DEFINE BAR 2 OF sPopSpr ;
PROMPT '\-' && Second item
DEFINE BAR 3 OF sPopSpr ;
PROMPT '\<Справочник Лицензий '
DEFINE BAR 4 OF sPopSpr ;
PROMPT '\<Выход' && Fourth item

ON SELECTION BAR 4 OF sPopSpr deactivate popup sPopSpr

ACTIVATE popup sPopSpr nowait
ENDPROC
enddefine
24 авг 04, 14:49    [904307]     Ответить | Цитировать Сообщить модератору
 Re: Popup в форме  [new]
Станислав C.
Member

Откуда: Екатеринбург
Сообщений: 1030
Sas_N
Помогите разобраться, как закрыть Popup интегрированный в форму?
Проблема в следующем не могу по кнопке выход сразу деактивировать Popup и удалить форму, если фокус не на меню то все нормально, а в противном случае дважды приходиться нажимать кнопсу ВЫХОД.
Данная форма вызывается из кнопочного меню верхнего уровня
Заранее благодарен


А что ты хочешь: первым кликом ты переводишь фокус на кнопку, а вторым - деактивируешь меню и закрываешь форму. Все логично!
24 авг 04, 15:50    [904601]     Ответить | Цитировать Сообщить модератору
 Re: Popup в форме  [new]
Sas_N
Member

Откуда: Челябинск
Сообщений: 41
Хотелось бы одним выстрелом двух зайцев - если такое в принципе возможно.

Уже склоняюсь к мысли организовать меню с помощью другого Controlа
24 авг 04, 16:51    [904836]     Ответить | Цитировать Сообщить модератору
 Re: Popup в форме  [new]
Станислав C.
Member

Откуда: Екатеринбург
Сообщений: 1030
Sas_N
Хотелось бы одним выстрелом двух зайцев - если такое в принципе возможно.


Я же не сказал, что такого сделать нельзя. Можно. И очень просто.
Пропиши реакцию кнопки на событие SetFocus, например так:


Procedure SetFocus
This.Click && Программно генерируем событие Click для кнопки
EndProc


Успехов!
25 авг 04, 06:34    [905533]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить