PDA

View Full Version : restore کردن فرم



baboozadeh
شنبه 07 مرداد 1385, 05:35 صبح
سلام دوستان، چجوری میشه یه فرم که minimize هست، دوباره restore کرد؟
فرض کنید میخوایم با کلیک روی آیکن برنامه در sys tray اونو restore کنیم، کد restore???
ممنون

mzjahromi
شنبه 07 مرداد 1385, 07:46 صبح
Form2.WindowState:=wsNormal;

baboozadeh
یک شنبه 08 مرداد 1385, 03:43 صبح
کد شمارو امتحان کرده بودم آقای جهرمی، جواب نمیده


procedure RestoreWindow;
var hParent,hChild: THandle;
begin
hChild := findWindow(nil,Pchar(TargetForm.Caption));
if hChild <> 0 then
begin
hParent := GetWindowLong(hChild,GWL_HWNDPARENT);
if hParent <> 0 then
begin
sendMessage(hParent,wm_Syscommand,sc_Restore,0);
SetForegroundWindow(hParent);
end;
end;
end ;

این کد فرم مورد نظر رو با استفاده از کپشن اش پیدا میکنه و restore میشه ولی ایرادش اینه که در صورتی که فرم اصلی برنامه hide باشه، show میکندش!!! خدا داند
مرسی

mzjahromi
یک شنبه 08 مرداد 1385, 08:13 صبح
کد شمارو امتحان کرده بودم آقای جهرمی، جواب نمیده
ولی من اون کد رو اول تست کردم.
شاید منظور شما چیز دیگه هست