![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить, каким образом вызвана форма... [D5]
Tormoz © (2004-10-14 15:23:00)Уважаемые Мастера!
Существует ли способ определить,каким образом вызвана форма:
MyForm.Show or MyForm.ShowModal ?
Например,в обработчике кнопки на MyForm ?
Fay (2004-10-14 15:53:00) [1]Сорри 8) Плохо прочитал
FormStyleздесь не поможет, ИМХО.
8)
Tormoz (2004-10-14 15:52:00) [2]СПАСИБО !!!
Fay (2004-10-14 15:52:00) [3]2 begin...end © (14.10.04 15:44) [3]
function TCustomForm.ShowModal: Integer;
var
WindowList: Pointer;
SaveFocusCount: Integer;
SaveCursor: TCursor;
SaveCount: Integer;
ActiveWindow: HWnd;
begin
CancelDrag;
if Visible or not Enabled or (fsModal in FFormState) or
(FormStyle = fsMDIChild) then
raise EInvalidOperation.Create(SCannotShowModal);
if GetCapture <> 0 then SendMessage(GetCapture, WM_CANCELMODE, 0, 0);
ReleaseCapture;
Application.ModalStarted;
try
Include(FFormState, fsModal);
begin...end (2004-10-14 15:44:00) [4]
> Tormoz (14.10.04 15:23)
if fsModal in MyForm.FormState then
// форма показана модально
else
//форма показана немодально
> [2] Eugene1501 (14.10.04 15:40)
FormStyle здесь не поможет, ИМХО.
Eugene1501 (2004-10-14 15:40:00) [5]Смотри свойство FormStyle
Алхимик (2004-10-14 15:26:00) [6]Перед показом в MyForm.Tag пиши 0 если Show и 1 если ShowModal,
а в обработчике кнопки смотри что в Tag и делай выводы.