برنامه نویسی سیمبین
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
برنامه نویسی سیمبین

فروم مخصوص برنامه نویسی موبایل برای ایرانیان
 
الرئيسيةالرئيسية  جستجوجستجو  أحدث الصورأحدث الصور  ثبت نامثبت نام  ورود  

 

 نحوه نمايش پنجره پيغام

اذهب الى الأسفل 
نويسندهپيام
mousa
Admin
mousa


تعداد پستها : 108
Registration date : 2007-05-16

نحوه نمايش پنجره پيغام Empty
پستعنوان: نحوه نمايش پنجره پيغام   نحوه نمايش پنجره پيغام Icon_minitimeالسبت مايو 26, 2007 8:15 am

نحوه نمایش MessageBox در سیمبین:

برای استفاده کردن از Message Boxها بايد فایل aknnotewrappers.h را به سورس فایلمان ضمیمه کنیم و همچنین باید کتابخانه avkon.lib را اگر اضافه نشده است، به فایل mmp اضافه کنیم.



حال فرض کنید می خواهیم عبارت Hello World را در یک Message Box به کاربر نشان دهیم. ابتدا باید رشته مورد نظر را تعریف کنیم:

كد:


_LIT(message, "Hello World!");


همانطور که می دانید، می توانیم توسط ماکروی _LIT یک واصف (رشته ها در سیمبین) تعریف کنیم.

سپس از کلاس CAknInformationNote یک آبجکت می گیریم:

كد:


CAknInformationNote* infonote = new (ELeave) CAknInformationNote();


حالا کافی است که رشته مورد نظر را به این آبجکت بدهیم و متد اجرا کردن آن را صدا بزنیم:

كد:


Infonote->ExecuteLD(message);


بعد از اجرا شدن این خط، یک Message Box با یک آیکن i نمایش داده خواهد شد که با زدن هر کلیدی توسط کاربر، این پنجره محو می شود و اجرای برنامه ادامه پیدا می کند.

البته می توانید به جای اینکه متن را در اینجا بنویسید، ابتدا آن را در فایل های Resource تعریف کنید و سپس در اینجا از آن استفاده کنید. برای انجام این کار کافی است به جای کدهای بالا از کد زیر استفاده کنید:

كد:


TBuf<256> buf;

iCoeEnv->ReadResource(buf, RS_R_MESSAGE);



Infonote->ExecuteLD(buf);


RS_R_MESSAGE را هم در فایل Resource باید به صورت زیر تعریف کرده باشید:

كد:


RESOURCE TBUF rs_r_message

{

buf="Hello World!";

}


حتی می توانیم متن مورد نظر را در فایل های .lxx بنویسیم و در اینجا هم دوباره نام رشته مورد نظر را بنوسیم. مثلاً به جای کد بالا می نویسیم:

كد:


RESOURCE TBUF rs_r_message

{

buf=r_message;

}


در فایل های .lxx هم متن مورد نظر را به صورت زیر می نویسیم:

كد:


#define r_message "Hello World!"


استفاده کردن از حالت آخری (یعنی متن ها را در فایل های .lxx بنویسیم) موقع طراحی برنامه های چندزبانه، کارمان را بسیار راحتتر می کند و باعث می شود که به راحتی بتوانیم رشته های مربوط به زبان های مختلف را، هر کدام را در یک فایل .lxx جداگانه بنویسیم و در انبوه کدهای انتخاب متن و ... گم نشویم! (ضمناً در lxx منظور از xx همان کد زبان مربوطه است.)





همچنین می توانیم به جای پنجره پیام، یک Error Box نمایش دهیم که تنها تفاوتی که با حالت قبلی دارد، در آیکن برنامه و همچنین در صدایی است که هنگام ظاهر شدن پنجره پخش می شود.

برای استفاده از این حالت تنها کافی است که به جای استفاده کردن از کلاس CAknInformationNote از کلاس CAknErrorNote استفاده کنیم.

همچنین برای استفاده کردن از پنجره تأیید هم کافی است که از کلاس CAknConfirmationNote استفاده کنید.

(بجز این سه تا، کلاس های دیگری هم برای انواع دیگر حالت ها وجود دارد.)



البته این سه کلاس دارای تعدادی تنظیمات هم هستند که می توانید به آنها اعمال کنید. آنها را در زیر توضیح می دهیم:

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

كد:


Infonote->SetTone(/*the sound tone*/);


برای پارامتر این تابع، می توایند مقادیر زیر را استفاده کنید:

CAknNoteDialog::ENoTone : یعنی هیچ صدایی پخش نشود.

CAknInformationNote::EConfirmationTone : صدای پیشفرض CAknConfirmationNote است.

CAknInformationNote::EWarningTone : صدای پیشفرض CAknWarningNote است.

CAknInformationNote::EErrorTone : صدای پیشفرض

برای کلاس دیگر نمایش پنجره پیام هم، همین تابع و همین پارامترها وجود دارند.

یک خاصیت دیگری که می توانید برای هم پنجره پیام، اعمال کنید، Timeout است. این خاصیت مشخص می کند که پنجره تا چه مقدار زمانی در معرض دید باشد. برای تعیین این خاصیت می توانید از تابع زیر استفاده کنید:

كد:


infonote->SetTimeout(/*the timeout*/);


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

CAknNoteDialog::ENoTimeout : یعنی پنجره برای همیشه ظاهر بماند و در صورتی که کاربر کلیدی زد، ناپدید شود.

CAknNoteDialog::EShortDTimeout : یعنی پنجره برای مدت کوتاهی ظاهر شود و سپس به طور اتوماتیک ناپدید شود.

CAknNoteDialog::ELongTimeout : یعنی پنجره برای مدت طولانی تری بماند و در صورتی که کاربر هیچ کلیدی را نزد، بعد از مدتی خودبخود ناپدید شود.

همچنین می توانید مشخص کنید که آیا Text Wrapping برای این پنجره پیام فعال باشد یا نه؟ (Text Wrapping یعنی این که در صورتی که مقدار متنی که قرار است در یک سطر نمایش داده شود، از ظرفیت آن بیشتر شد، ادامه اش را در سطر بعدی نمایش دهد؛ برای مثال در نرم افزار notepad ویندوز در منوی format این گزینه وجود دارد که می توانید آن را بررسی کنید.)

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

كد:


Infonote->SetTextWrapping(/*ETrue or EFalse*/);


برای پارامتر این تابع هم کافی است که مقدار ETrue یا EFalse بدهید.



تصاویر را بعداً اضافه خواهم کرد.Wink ضمناً برای حل مشکل از راست به چپ بودن کدها هم، سعی خواهم کرد مقالات سایت را به صورت pdf هم برایتان بگذارم.
بازگشت به بالاي صفحه اذهب الى الأسفل
http://symbiandevnet.fullboards.com
mousa
Admin
mousa


تعداد پستها : 108
Registration date : 2007-05-16

نحوه نمايش پنجره پيغام Empty
پستعنوان: رد: نحوه نمايش پنجره پيغام   نحوه نمايش پنجره پيغام Icon_minitimeالسبت يونيو 09, 2007 4:15 am

pdf این مقاله هم آپلود شد.
می تونین از اینجا بگیرینش.
بازگشت به بالاي صفحه اذهب الى الأسفل
http://symbiandevnet.fullboards.com
 
نحوه نمايش پنجره پيغام
بازگشت به بالاي صفحه 
صفحه 1 از 1
 مواضيع مماثلة
-

صلاحيات هذا المنتدى:شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد
برنامه نویسی سیمبین :: برنامه نویسی سیمبین :: رابط کاربری :: سری ۶۰-
پرش به: