PDA

View Full Version : مینی مایز



stn-it
چهارشنبه 03 مهر 1392, 08:51 صبح
سلام دوستان
من یه پروژه دلفی نوشتم که حدودا 70 یا 80 تا فرم داره.وقتی مینی مایز میکنم میاد بالای تسکبار روی دسکتاب میمونه.چیکار کنم مثل برنامه های دیگه روی تسکبار مینی مایز بشه؟

یوسف زالی
چهارشنبه 03 مهر 1392, 09:47 صبح
سلام.
باید کدتون بررسی بشه.
ولی در یک مورد مشابه من متوجه شدم که استفاده از Show در رویداد OnCreate می تونه منجر به این داستان بشه.
فکر می کنم دلیلش این باشه که یکی از مسیج های داخلی به اشتباه می افته.

stn-it
چهارشنبه 03 مهر 1392, 10:03 صبح
نه از show استفاده نکردم.فکر کنم به خاطر استفاده نکردن از فرم والد و فرزند باشه.نمی دونم چه کنم؟

Delphi 2010
چهارشنبه 03 مهر 1392, 15:36 عصر
بنده همین مشکل رو داشتم
ابتدا به منوی Project>View Source رو انتخاب کنید و مقدار زیر رو تغییر بدید

Application.Initialize;
Application.MainFormOnTaskbar := False;
Application.CreateForm(TForm1, Form1);
Application.Run;

و اگه میخواهید مشکلتون کامل حل بشه
یه ApplicationEvents بزار روی فرمت و توی Eventهاش داخل OnMinimize کد زیر رو بنویس


EnableWindow(Application.handle,true);


یا اینکه از یه دکمه استفاده کنید برای Minimize و کدهای زیر رو داخلش بنویسید



EnableWindow(Application.handle,true);
Application.Minimize;

یوسف زالی
چهارشنبه 03 مهر 1392, 15:40 عصر
اشکالی که دوستمون گفتند، Resize شدن نیست. بد انجام شدن این کاره.
البته من با نسخ پایین تر تست گرفتم که ممکنه با دستورات شما در نسخ جدید این اشکال مرتفع بشه..

Delphi 2010
چهارشنبه 03 مهر 1392, 15:57 عصر
میدونم عزیزدل
منم مشکل این دوستمون رو داشتم که توی سایت delphi.about این روش رو گفته بود و دقیقا مشکلم حل شد و مشکلات بر میگرده به اینکه صفحه اصلی یا Main رو visible اون رو False میکنیم این اشکال پیش میاد

stn-it
پنج شنبه 04 مهر 1392, 11:08 صبح
بنده همین مشکل رو داشتم
ابتدا به منوی Project>View Source رو انتخاب کنید و مقدار زیر رو تغییر بدید

Application.Initialize;
Application.MainFormOnTaskbar := False;
Application.CreateForm(TForm1, Form1);
Application.Run;

و اگه میخواهید مشکلتون کامل حل بشه
یه ApplicationEvents بزار روی فرمت و توی Eventهاش داخل OnMinimize کد زیر رو بنویس


EnableWindow(Application.handle,true);


یا اینکه از یه دکمه استفاده کنید برای Minimize و کدهای زیر رو داخلش بنویسید



EnableWindow(Application.handle,true);
Application.Minimize;


مرسی دوست عزیز
ببخشیدا فقط این Application Event از کجا بیارم؟

Mahmood_M
پنج شنبه 04 مهر 1392, 11:51 صبح
در برنامتون از فرم Splash یا فرمی برای ورود به نرم افزار استفاده می کنید ؟
در سورس پروژه ، اولین فرمی که Create میشه کدوم فرمه ؟ فرم اصلی ؟
لطفا تصویر یا کد سورس اصلی پروژه رو قرار بدید ...

stn-it
پنج شنبه 04 مهر 1392, 12:56 عصر
مشکلم حل شد دوستان.فقط می خوام ببینم این Application Eventاز کجا بیارم؟
مرسی

Delphi 2010
پنج شنبه 04 مهر 1392, 13:11 عصر
داخل خود دلفی وجود داره ApplicationEvent
توی لیست کامپوننت ها هست
Search کن عزیز توی قسمت کامپوننت ها

stn-it
پنج شنبه 04 مهر 1392, 13:51 عصر
داخل خود دلفی وجود داره ApplicationEvent
توی لیست کامپوننت ها هست
Search کن عزیز توی قسمت کامپوننت ها

مرسی
روی دکمه نوشتم جواب داد اما وقتی Application Event آوردم روی اون جواب نمیده.به نظرتون چرا؟
دقیقا مثل گفته شما عمل کردم
کار دیگه ای باید بکنم؟

Delphi 2010
پنج شنبه 04 مهر 1392, 14:36 عصر
کدوم کد ها رو داخل دکمه استفاده کردید و کدوم کد رو داخل ApplicationEvent

stn-it
شنبه 06 مهر 1392, 08:07 صبح
کدوم کد ها رو داخل دکمه استفاده کردید و کدوم کد رو داخل ApplicationEvent

دقیقا مثل فرمایش شما EnableWindow(Application.handle,true); تو مینی مایز application Evenet
و اونیکی تو دکمه

Delphi 2010
شنبه 06 مهر 1392, 15:09 عصر
شما داخل دکمه اجرا کن
داخل کدنویسی خودتون هم یه کدی نوشتید که جلوگیری از اجرای صحیح برنامه میکنه