نمایش نتایج 1 تا 9 از 9

نام تاپیک: Activate و نمایش برنامه Minimize شده

  1. #1
    کاربر دائمی آواتار Delphi Coder
    تاریخ عضویت
    آذر 1386
    محل زندگی
    c:\windows\system32
    پست
    579

    Tick Activate و نمایش برنامه Minimize شده

    چطور می توان یک window یا یک فرم را در حالی که خود برنامه minimize شده باشد به user نشان داد. فرض کنیم برنامه minimize شده و user در حال کار کردن با اینترنت اکپلورر هست و می خوهیم User را از روی دادن یک Event مطلع کنیم در ضمن نمی خواهیم از گزینه StayOnTop استفاده کنیم چون ممکن است user نخواهد در آن لحظه به window عکس العمل نشان دهد و با click روی Explorer بخواهد فعلا به کار خود ادامه دهد. من یه چیزی تو MSDN پیدا کردم(SetForegroundWindow) ولی 10000 تا شرط و شروط و اما اگر داره که نتونستم راش بندازم. ممنون میشم اگه کسی بتونه کمک کنه.

  2. #2
    کاربر دائمی آواتار DAMAVAND
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    همين اطراف
    پست
    373

    Red face

    نقل قول نوشته شده توسط Delphi Coder مشاهده تاپیک
    چطور می توان یک window یا یک فرم را در حالی که خود برنامه minimize شده باشد به user نشان داد. فرض کنیم برنامه minimize شده و user در حال کار کردن با اینترنت اکپلورر هست و می خوهیم User را از روی دادن یک Event مطلع کنیم در ضمن نمی خواهیم از گزینه StayOnTop استفاده کنیم چون ممکن است user نخواهد در آن لحظه به window عکس العمل نشان دهد و با click روی Explorer بخواهد فعلا به کار خود ادامه دهد. من یه چیزی تو MSDN پیدا کردم(SetForegroundWindow) ولی 10000 تا شرط و شروط و اما اگر داره که نتونستم راش بندازم. ممنون میشم اگه کسی بتونه کمک کنه.
    چه شرطی
    این جوری ازش استفاده میکنید??


    SetForegroundWindow(Form1.Handle);


    معمولا برای اینجور کارها کاری میکنن که پنجره در حالت Minimaz
    در همون حالت شروع کنه به چشمک زدن. بهتر از این روش استفاده کنید
    از تابع FlashWindowEx
    استفاده کنید

  3. #3
    کاربر دائمی آواتار Delphi Coder
    تاریخ عضویت
    آذر 1386
    محل زندگی
    c:\windows\system32
    پست
    579
    ممنون از راهنماییتون. ولی قبلا تست کردم جواب نداد. عملا کار FlashWindow رو انجام میده.

  4. #4
    برای اینکه بتونید پنجره کوچک شده رو بزرگ کنید باید از طریق خود برنامه اصلی این کار انجام بشه.
    اگر این کار رو برای اینکه هنگامی که نسخه دومی از برنامه شما میخواد اجرا شه نسخه قبلی رو بیاره بالا انجام میدید، دستور SetForegroundWindow یا حتی Application.BringToFront رو بعد از اینکه تو نسخه قبلی اجرا شده Application.Restore رو اجرا کردید فراخوانی کنید.

  5. #5
    کاربر دائمی آواتار Hamid_PaK
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    1,125
    قبلا همچین مشکلی داشتم که اینطوری حلش کردم:

    procedure ForceForegroundWindow(hwnd: THandle);
    var
    hlp: TForm;
    begin
    hlp := TForm.Create(nil);
    try
    hlp.BorderStyle := bsNone;
    hlp.SetBounds(0, 0, 1, 1);
    hlp.FormStyle := fsStayOnTop;
    hlp.Show;
    mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    SetForegroundWindow(hwnd);
    finally
    hlp.Free;
    end;
    end;

    // Uses
    begin
    if not SetForegroundWindow(Form1.Handle) then ForceForegroundWindow(Form1.Handle);
    end;


    یا حق ...

  6. #6
    کاربر دائمی آواتار Delphi Coder
    تاریخ عضویت
    آذر 1386
    محل زندگی
    c:\windows\system32
    پست
    579
    حمید جان مرسی. واقعا دست خوش. با اینکه خلاف قانون اینجاست ولی نمی شد ازت با Text تشکر نکنم. اینو من خیلی وقته دنبالش بودم. هر چند با حقه و کلک انجام شده ولی خب کار منو که راه انداخت. بازم ممنون.

  7. #7
    کاربر دائمی آواتار Delphi Coder
    تاریخ عضویت
    آذر 1386
    محل زندگی
    c:\windows\system32
    پست
    579
    ببخشید ولی حالا یه مشکل جدید درست شد وقتی User میاد این window رو میبنده بعدش صفحه Editor (فرم اصلی ) برنامه هم یادش میاد که بپره بالای Explorer

  8. #8
    با سلام خدمت شما
    مثلا شما می خواهید برنامه بعد از 10 ثانیه اجرا یه پیغام بده یک تایمر گذاشته و دستورات زیر را در آن کپی نمائید.
    Form1.FormStyle:= fsStayOnTop;
    ShowMessage('salam');
    Timer2.Enabled:=true;
    Timer1.Enabled:=false;
    و در تایمر دو نوشته زیر را بگذارید
    Form1.FormStyle:= fsNormal;
    Timer2.Enabled:=false;
    و برنامه را اجرا کنید.

  9. #9
    کاربر تازه وارد آواتار mahdisam
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    روستائي
    سن
    39
    پست
    57

    نقل قول: Activate و نمایش برنامه Minimize شده

    عالی بود ...ممنون دوست گرام

تاپیک های مشابه

  1. Activate Dialog events
    نوشته شده توسط Abbas Arizi در بخش C#‎‎
    پاسخ: 6
    آخرین پست: پنج شنبه 31 شهریور 1390, 17:51 عصر
  2. Click to activate and use this control ؟!
    نوشته شده توسط iekrang در بخش Flash و ActionScript
    پاسخ: 3
    آخرین پست: پنج شنبه 21 اردیبهشت 1385, 09:51 صبح
  3. ایجاد Activate code
    نوشته شده توسط p_zare در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: جمعه 05 اسفند 1384, 13:53 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •