16-12-2008, 11:43 AM
بسم الله الرحمن الرحيم
Form.ShowModal : هي دالة موجودة في وحدة Forms لاستدعاء و إظهار نافذة مشروع، دون السماح للرجوع لنافتها الأساسية بالنقر خارجها.
Form.Show : هي إجرائية إظهار نافذة دون تحديدات النقر السابقة الذكر.
Visible := True : هي إعطاء خاصية Visible قيمة Boolean إما True أو False يمكننا استعمالها لإظهار نافذة كانت مخفية مسبقا.
الغرض من استعمال ShowModal : هو عدم السماح بالرجوع إلى النافذة التي استدعيت منها بالنقر خارجها إلا بإغلاقها، يعني إذا أردت أن لا تختفي نوافذ معينة من مشروعك وراء النوافذ التي استدعيت منها استعمل ShowModal.
بالتوفيق إن شاء الله
Form.ShowModal : هي دالة موجودة في وحدة Forms لاستدعاء و إظهار نافذة مشروع، دون السماح للرجوع لنافتها الأساسية بالنقر خارجها.
PHP كود :
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);
ActiveWindow := GetActiveWindow;
SaveFocusCount := FocusCount;
Screen.FSaveFocusedList.Insert(0, Screen.FFocusedForm);
Screen.FFocusedForm := Self;
SaveCursor := Screen.Cursor;
Screen.Cursor := crDefault;
SaveCount := Screen.FCursorCount;
WindowList := DisableTaskWindows(0);
try
Show;
try
SendMessage(Handle, CM_ACTIVATE, 0, 0);
ModalResult := 0;
repeat
Application.HandleMessage;
if Application.FTerminate then ModalResult := mrCancel else
if ModalResult <> 0 then CloseModal;
until ModalResult <> 0;
Result := ModalResult;
SendMessage(Handle, CM_DEACTIVATE, 0, 0);
if GetActiveWindow <> Handle then ActiveWindow := 0;
finally
Hide;
end;
finally
if Screen.FCursorCount = SaveCount then
Screen.Cursor := SaveCursor
else Screen.Cursor := crDefault;
EnableTaskWindows(WindowList);
if Screen.FSaveFocusedList.Count > 0 then
begin
Screen.FFocusedForm := Screen.FSaveFocusedList.First;
Screen.FSaveFocusedList.Remove(Screen.FFocusedForm);
end else Screen.FFocusedForm := nil;
if ActiveWindow <> 0 then SetActiveWindow(ActiveWindow);
FocusCount := SaveFocusCount;
Exclude(FFormState, fsModal);
end;
finally
Application.ModalFinished;
end;
end;
Form.Show : هي إجرائية إظهار نافذة دون تحديدات النقر السابقة الذكر.
PHP كود :
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;
Visible := True : هي إعطاء خاصية Visible قيمة Boolean إما True أو False يمكننا استعمالها لإظهار نافذة كانت مخفية مسبقا.
الغرض من استعمال ShowModal : هو عدم السماح بالرجوع إلى النافذة التي استدعيت منها بالنقر خارجها إلا بإغلاقها، يعني إذا أردت أن لا تختفي نوافذ معينة من مشروعك وراء النوافذ التي استدعيت منها استعمل ShowModal.
بالتوفيق إن شاء الله

