PDA

View Full Version : سوال: رنگی شدن برنامه که در تسکباره



Mask
چهارشنبه 08 دی 1389, 14:57 عصر
با سلام
گاهی از برنامه ها که در تسکباردر حالت مینیمایزه زمانی که تغییر حالتی درشون ایجاد میشه شروع میکنن به نارنجی و آبی شدن.
چطوری میتونم برنامم رو که در تسکباره اینطوری کنم.
ممنون.

AliReza Vafakhah
چهارشنبه 08 دی 1389, 16:26 عصر
به این کار میگن Flash شدن پنجره که با تابع API انجام میشه.
یونیت ShellAPI رو uses کنید


FlashWindow(Self.Handle,True)

Mask
چهارشنبه 08 دی 1389, 16:36 عصر
ممنون.
آقای وفاخواه با این کد رنگ برنامه روی تسکبار تغییری نمیکنه . کد رو تغییر دادم.
با کد زیر مشکلم حل شد.

FlashWindow(Handle, true);
FlashWindow(Application.Handle, true);
حالا وقتی برنامه مینیمایز شد این کد اجرا میشه. که آقای تاجیک زحمت کشیدند و در یک پست روشش رو گفتند بوسیله مسیج هندلر.
حالا سوالم اینه که چطوری بفهمم برنامم از مینیمایز در اومده که این کد رو غیر فعال کنم.؟

Felony
چهارشنبه 08 دی 1389, 22:13 عصر
خوب مشکل کجاست ؟
یک Message Handler برای پیغام WM_SysCommand تعریف کنید و وقتی پیغام SC_Restore رو دریافت کردید یعنی برنامه به حالت عادی برگشته ، تعریف :

procedure MyRestore(var MSG: TWMSysCommand); message WM_SYSCOMMAND;

کد :

procedure TForm1.MyRestore(var MSG: TWMSysCommand);
begin
if MSG.CmdType= SC_RESTORE then
// Do something
DefaultHandler(Msg);
end;

mbshareat
پنج شنبه 09 دی 1389, 18:15 عصر
با سلام
جناب آقای تاجیک گرامی من مشکلم برعکسه. البته نمی دونم می تونم تو تالار دلفی مطرح کنم یانه.
من یه برنامه با Vb نوشتم که اگه به تنهایی اجرا بشه مشکلی نداره ولی وقتی از بچ فایل اجرا بشه اسم برنامه تو نوار وظیفه نارنجی و آبی می شه و فوکوس هم به برنامه منتقل نمی شه.و مجبورم Alt+Tab رو بگیرم.آیا راهی هست که برنامم اینطوری نشه. من خیلی راهها رو امتحان کردم مثل فوکوس دادن به فرم و ترکیب minimize و بعد restore ولی فایده نداشت.
اصلا علت اینکه فوکوس به فرمم منتقل نمی شه چیه؟:گیج:

Mask
شنبه 11 دی 1389, 14:17 عصر
چرا با بچ فايل؟
يه قايل exe درست كن كه اين كار رو بكنه و بعدش بسته بشه تا فوكوس يره به سمت برنامه اي كه باز ميشه.