PDA

View Full Version : سوال: چطور صداهای کادرهای محاوره ای سیستم رو همزمان با لود شدن دیالوگ فراخوانی کنم



Hadiir.net
سه شنبه 19 شهریور 1392, 03:38 صبح
سلام
توی دات نت یه امکانی وجود داره که میشه هرجایی توسط یه تابع دسترسی مستقیم به صداهای سیستمی ویندوز داشت (PlaySoundSystem) منظورم همون صداهای هشداری که همزمان با نمایش دیالوگ های مسیج باکس اجرا میشن.
حالا من میخوام همچین دسترسی رو توی کیوت داشته باشم .
فرض کنید می خوام یه دیالوگ شخصی هشدار طراحی کنم که وقتی به کاربر نمایش داده میشه همزمان همون صداهای هشدار آشنا در سیستم یا ویندوز هم باهاش اجرا یا پخش بشه.

ممنون میشم راهنمایی بفرمایین . تشکر

حامد مصافی
سه شنبه 19 شهریور 1392, 13:27 عصر
ابتدا سرآیند زیر را درج کنید.

#include <qt_windows.h>
نکته: می‌تونید از windows.h هم استفاده کنید. اما در موارد معدودی ناسازگاری با کتابخونه کیوت پیش میاد. به همین دلیل توصیه می‌کنم همواره از qt_windows.h استفاده کنید که در واقع قبل از درج Windows.h تعدادی ماکرو رو هم مقدار دهی می‌کنه.

سپس با استفاده از تابع زیر یک صدای بیپ تولید کنید:

MessageBeep


این تابع یک مقدار عددی میگیره که مشخص کننده نوع صداست. که ثابت تعریف شده اونها به قرار زیر هستند:

MB_ICONASTERISK
MB_ICONEXCLAMATION
MB_ICONHAND
MB_ICONQUESTION
MB_OK

از اسم این ثابت‌ها مشخصه چه کاری انجام میدن (هشدار، پیغام، خطا و ...)
مثال:

MessageBeep(MB_ICONASTERISK);