PDA

View Full Version : فراخواني تابعي به محض اينكه 5 ثانيه ماوس روي اشيايي قرار گيرد.



rezamahdizadeh
چهارشنبه 17 اردیبهشت 1393, 22:05 عصر
سلام
همانطور كه مي دانيم اگر ماوس چند ثانيه اي روي شيي قرار گيرد پيغام Hint ظاهر مي شود. حال مشابه با اين عمل مي خواهيم اگر ماوس 5 ثانيه روي شيي قرار گيرد فرم ديگري ايجاد و نمايش داده شود. چگونه اين كار را پياده سازي كنيم؟

hadisalahi2
پنج شنبه 18 اردیبهشت 1393, 09:51 صبح
باید از تایمر استفاده کنی
به محضی که ماوس روی شی رفت باید تایمر رو فعال کنی
در صورتی که ماوس از روی شی خارج شد ، تایمر رو غیر فعال میکنیم
مدت زمان تایمر رو هم روی 5000 تنظیم کن .

یوسف زالی
پنج شنبه 18 اردیبهشت 1393, 10:43 صبح
می تونید اصلا هینت رو از نو بسازید.
یکم پیچیده تره.

AliReza Vafakhah
پنج شنبه 18 اردیبهشت 1393, 12:12 عصر
با رویداد ApplicationEvents.OnHint میشه یه جورایی باهاش کار شما رو راه انداخت.

hadisalahi2
شنبه 20 اردیبهشت 1393, 10:26 صبح
برادر علیرضا و یوسف
این بنده خدا نمیخواد Hint نشون داده بشه
میخواد ، یک تابع یا یک پروسیجر اجرا بشه

البته الان نمیدونم خودش کجاست :لبخند:

rezamahdizadeh
سه شنبه 23 اردیبهشت 1393, 07:53 صبح
از ديد خودم راه حل بايد استفاده از تايمر را در بر داشته باشد اما اگر فرض كنيم فرمي داريم كه 50 تا شي از نوع TImage داشته باشيم بخواهيم روي هر كدام با ماوس رفتيم(كه البته پياده سازي تشخيص آن كمي مشكل است چونكه رويداد OnMouseMove جوابگو نيست رويدادي شبيه به OnMouseEnter بايد وجود داشته باشد) يك تابع يا روال فراخواني شود

hadisalahi2
سه شنبه 23 اردیبهشت 1393, 10:24 صبح
نه عزیزم احتیاجی به این کار نیست
یک پروسیجر که تعریف کردی ، میتونی اون رو به همه کنترلهای فرمت نسبت بدی
راه سادش اینه که همه کنترلهای تصویرت رو انتخاب کنی و بعد توی رویداد مورد نظرت پروسیجر مربوطه رو انتخاب کنی.

راه دومش استفاده از کد هستش
اگه لازم شد بگو تا روشش رو بگم