كيف يمكنني كتابة دالة تعديل الممتلكات العامة في فليكس / Actionscript3؟

StackOverflow https://stackoverflow.com/questions/221169

سؤال

وأنا جديدة على فليكس، وإن لم يكن جديدا على البرمجة. أريد أن أكتب معالج الحدث العام الذي سيتم دعا جميع صناديق textinput بلدي عندما تتلقى التركيز. عندما يكون لديهم التركيز، أريد تغيير لون مربع textinput. عندما يفقدون التركيز، أريد لاستعادة "نشط" تعريف الألوان. يمكنني أن أكتب معالج أحداث أكشن لكل مربع textinput، لكننا نعلم جميعا أن عرجاء. : س) ما احتاج اليه، إذن، هو وسيلة للوصول إلى الهدف الذي استدعاء معالج الحدث

.

في دلفي، كنت قد كتبت وظيفة الذي يمر في الكائن المرسل، مما يسمح لي للوصول إلى خصائص الكائن يدعو ل. انا التخمين أكشن / فليكس ديها بنية مختلفة تماما، وهذا هو السبب أواجه صعوبة في القيام بذلك.

ويرجع الفضل في ذلك تحسبا!

هل كانت مفيدة؟

المحلول

ويجب فئة فرعية TextInput ومعالجة الأحداث التركيز في هناك. وأعتقد أن هذا سيكون أبسط وسيلة لتحقيق ما كنت تبحث عن دون الحاجة أي رمز معقدة.

نصائح أخرى

وأرجو أن أكون أنا فهم ما كنت طالبا ... تتحدث وفد الحدث؟

وهذا عمل بالنسبة لي:

// 'focusOut' for blur
stage.addEventListener('focusIn', function(e:Event):void {
    // The focused control is e.target
});

إذا كنت ترغب في تغيير شكل مربع الإدخال تركيزا، يمكنك القيام بذلك عن طريق تعيين الخاصية focusSkin. إذا كنت تريد أن يحدث هذا على الصعيد العالمي، يمكنك وضع إعلان النمط في ملف CSS الخاص بك.

في هذا المثال CSS أنا استبدال الافتراضي focusSkin (mx.skins.halo.HaloFocusRect) مع ملف PNG المضمنة.

TextInput {
  focusSkin: Embed(source="focus.png");
}

وTextInput لديه بعض الخصائص لتغيير نظرة من التركيز، مثل تغيير عتامة الجلد التركيز (الملكية focusAlpha). تحقق من TextInput الوثائق للحصول على مزيد من المعلومات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top