آموزش notify کردن پنجره جهت آگاه سازی کاربر

aliamel

کاربر فعال

حتما تاکنون با نرم افزار هایی برخورد کرده اید که بنابه دلایلی تذکری را به کاربر استفاده کننده از برنامه می دهند.بدین صورت که آیکن برنامه واقع در تسک بار شروع به چشمک زدن (معمولا به رنگ زرد) می کند تا توجه کاربر را به خود جلب نماید.
این تذکر به دلایل مختلفی می تواند بروز کند که از جمله این موارد می توان به به اتمام عملیات خاص و یا
notify دادن به دلیل موجود بودن نسخه جدیدی از نرم افزار و ...اشاره نمود. به طور کلی جهت notify دادن به کاربر از دوثابت می توان استفاده کرد . این دو ثابت درکلاس NotificationType یافت می شوندکه به شرح ذیل هستند :


ثابت
INFORMATIONAL:در صورتی که از این ثابت جهت تذکر استفاده گردد پنجره موجود در تسک بار ویندوز یک بار چشمک زده و به رنگ زرد باقی می ماند.

ثابت
CRITICAL:این ثابت جهت هشدار های جدی مورد استفاده قرار می گیرد . بدین صورت که پنجره موجود در تسک بار ویندوز به طور مداوم شروع به چشمک زدن می کند.

مثال زیر نحوه کار با ثابت اول را بیان می دارد .دراین مثال ابتدا یک دکمه به نام
BTN روی Stage قرار می دهیم . وظیفه این دکمه باز نمودن یک پنجره جدید با ابعاد و ویژگی های تعریف شده مورد نظر است که سبب می شود ابتدا پنجره جدید در بالای تمامی پنجره ها ایجاد و سپس پنجره اولیه(که در زیر پنجره جدید قرار گرفته)شروع به تذکر دادن نماید.

در مورد بعضی از کلاس و کد های استفاده شده توضیحاتی آورده شده است که بدین قرارند :


NativeWindowInitOptions
:
کلاسی است که جهت مدیریت بر ظاهر و استایل پنجره مورد استفاده قرار می گیرد . (مواردی از قبیل شفافیت پنجره - موقعیت
x,y پنجره پس از باز شدن - فعال یا غیر فعال کردن دکمه های max, min - تنظیم پهنا و ارتفاع پنجره و ... )

NotificationType
:
کلاسی که دو ثابت critical, informatiopnal را جهت هشدار به کاربر فراهم می آورد. متد notifyUser یکی از ثابت های رشته ای معرفی شده را دریافت کرده و notify را روی پنجره اعمال می کند .

NativeWindow
:
کلاسی که جهت مدیریت و ساخت پنجره مورد استفاده قرار می گیرد.
PHP:
stage.nativeWindow.notifyUser(NotificationType.INFORMATIONAL);
notify کردن پنجره اولیه در حالت یک بار چشمک زدن در تسک بارمفهوم کد بالامی باشد

در انتها خاطر نشان می سازم مثال فوق در سیستم عامل های ویندوزی کاربرد داشته و بنابراین جهت انجام چنین عملی در
سیستم عاملی هم چون مکینتاش کد مربوطه متفاوت خواهد بود.

PHP:
package 
{

    import flash.display.MovieClip;
    import flash.display.NativeWindow;
    import flash.desktop.NotificationType;
    import flash.display.NativeWindowInitOptions;
    import flash.display.NativeWindowSystemChrome;
    import flash.events.MouseEvent;


    public class my_notification extends MovieClip
    {
        public var base_win:NativeWindow;
        public var new_win:NativeWindow;
        public var init:NativeWindowInitOptions
        public function my_notification()
        {
            
            btn.addEventListener(MouseEvent.CLICK,my_nots);

            function my_nots(ev:MouseEvent):void
            {
                init=new NativeWindowInitOptions();
                init.systemChrome = NativeWindowSystemChrome.STANDARD;
                init.maximizable = false;
                init.resizable = false;
                new_win = new NativeWindow(init);
                new_win.height=200;
                new_win.width=250;
                new_win.activate();
                
                new_win.orderToFront();
                stage.nativeWindow.notifyUser(NotificationType.INFORMATIONAL);

            }

        }


    }


}
 

پیوست ها

  • Notifiaction.rar
    310.3 کیلوبایت · بازدیدها: 116

r.miri19

Member
میشه ابن فایل من رو ببینید ؟
من یک پنجره ساختم با این کد
[PHPS]import flash.display.NativeWindow;import flash.desktop.NotificationType;
import flash.display.NativeWindowInitOptions;
import flash.display.NativeWindowSystemChrome;


var test:String = "ASDFGHJKL"
//=============================================================================================================================
btn.addEventListener(MouseEvent.CLICK,windows_new);
//=============================================================================================================================
// تابع ایجاد پنجره
function windows_new( e:MouseEvent){


var Window_options:NativeWindowInitOptions = new NativeWindowInitOptions();




var native_window:NativeWindow;
native_window = new NativeWindow(Window_options);
native_window.width = 500;
native_window.height = 500;
native_window.x = (stage.fullScreenWidth - native_window.width)/2 // قرارگیری در وسط صفحه
native_window.y = (stage.fullScreenHeight - native_window.height)/2 // قرارگیری در وسط صفحه
native_window.title = "new win"
native_window.activate();


var background_windows_total:MovieClip = new background_windows();

native_window.stage.addChild(background_windows_total);




}








///////////////////////////////////////////////////////////////////////////////////////


[/PHPS]


حالا چطور می تونم از پنجره جدید مقدار متغییر test رو بفهمم؟
 

پیوست ها

  • windows.rar
    306.8 کیلوبایت · بازدیدها: 7

r.miri19

Member
یه سوال دبگر هم داشتم .
اگر swf رو لود کنم و در داخل ان متغییری به نام test باشد چطور می تونم مقدارش رو بفهمم با ست کنم؟
 

aliamel

کاربر فعال
1- جهت ارسال متغیر به پنجره جدید و یا نمایش آن خط زیر را به انتهای کدتون اضافه می کنید:
PHP:
 native_window.title=test;

2- جهت نمایش یا دریافت متغیری به نام test از SWF لود شده پس از لود کامل ابتدا شی ای از نوع مووی کلیپ به صورت زیر تعریف می کنید:
PHP:
mc = MovieClip(inLoader.content);
در اینجا inLoader شی ای از نوع Loader است.
و سپس بدین شکل محتوای test را داخل فایل اصلی تون نمایش می دید:

PHP:
trace(mc.test)
لطفا سوالات خود تون رو به صورت مجزا و به صورت مبحث جدید در بخش مربوطه درج کنید.
 

r.miri19

Member
می شه یک مثال بسازید و آپلود کنید .ممنون می شم.آخه هیچی نفهمیدم
 

aliamel

کاربر فعال
فایل ها پیوست شدند(نسخه cs6).
برای بار دوم عرض می کنم: لطفا از این به بعد سوالات رو به صورت مبحث جدید در انجمن قرار دهید.
 

پیوست ها

  • tmp.rar
    734.4 کیلوبایت · بازدیدها: 7

جدیدترین ارسال ها

بالا