PDA

View Full Version : سوال: چه زمانی فرم ماکزیمایز یا مینیمایز میشه ؟



sajioo
شنبه 15 تیر 1392, 00:04 صبح
دوستان عزیز سوالم به صورت واضح اینه که چطور بفهمیم فرم برنامه چه زمانی مینیمایز و یا ماکسیمایز میشه؟
البته من نمیخوام از تایمر استفاده کنم که مثلا هر 1 ثانیه چک کنه.
کسی راهی می دونه؟
:اشتباه:

Felony
شنبه 15 تیر 1392, 06:03 صبح
باید یک Message Handler برای پیغام های مورد نظر بنویسید ؛ اعلان زیر در بخش Public فرم برنامه :


procedure MyHandler(var Message: TWMSysCommand); message WM_SYSCOMMAND;

کد :

procedure TForm1.MyHandler(var Message: TWMSysCommand);
begin
case Message.CmdType of
SC_MINIMIZE:
ShowMessage('Minimize');
SC_MAXIMIZE:
ShowMessage('Maximize');
SC_RESTORE:
ShowMessage('Restore');
end;
DefaultHandler(Message);
end;

sajioo
شنبه 15 تیر 1392, 10:20 صبح
felony جان تشکر اما دو مشکل
کد را که میذارم تو فرم وقتی مینیمایز میکنم فرم به نوار ابزار پایین انتقال داده نمیشه بله جمع میشه پایین سمت چپ
مشکل دوم اینکه وقتی در نوار ابزار پایین روی ایکن برنامه کلیک می کنم که مینیمایز میشه و در این حالت برنامه کار نمیده . چرا؟

hossein_h62
شنبه 15 تیر 1392, 10:33 صبح
felony جان تشکر اما دو مشکل
کد را که میذارم تو فرم وقتی مینیمایز میکنم فرم به نوار ابزار پایین انتقال داده نمیشه بله جمع میشه پایین سمت چپ
مشکل دوم اینکه وقتی در نوار ابزار پایین روی ایکن برنامه کلیک می کنم که مینیمایز میشه و در این حالت برنامه کار نمیده . چرا؟
مشکلتون به کدی که در پست 2 داده شده نباید ربطی داشته باشه، مشکل احتمالا از اینه که فرمی غیر از Main Form رو دارید مینیمایز میکنید، اگه همینطوره قبلا در تالار بحث شده و راهکار داده شده.

یوسف زالی
شنبه 15 تیر 1392, 12:03 عصر
فکر می کنم باید در متد تعریف شده Inherited رو هم بگذارید.