نمایش نتایج 1 تا 7 از 7

نام تاپیک: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

  1. #1
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    Lightbulb تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

    سلام بر دوستان
    چند وقتی بود ذهنم مشغول این قضیه بود که چطور میتوان رنگ کادر پیام –msgbox- وی بی- رو یا رنگ متنش رو عوض کرد که زیباتر باشه از این حالت سیاه و سفید دربیاد

    قطعه کد کوتاهی -رو از ادرس زیر پیدا کردم

    https://wellsr.com/vba/2017/excel/change-vba-msgbox-text-color-with-setsyscolors/


    یه ماژول ساختم و کد رو داخلش قرار دادم
    و از طریق یک دکمه مازول رو فراخوانی –call-کردم و نتیجه داد و رنگ متن msgbox ها تغییر میکنه
    من خیلی نتونستم کد رو تحلیل کنم که ببینیم چطور میشه ازش استفاده کرد
    ممنون میشم دوستان یه نگاهی بیاندازند ببینم چطور میتونیم در msgbox های برنامه هامون ازش استفاده کنیم
    یا اگر پیشنهاد دیگه ای هست برای تغییر رنگ متن یا کادر msgbox ها ممنونم میشم با من به اشتراک بزارید
    با سپاس

    لینک فایل نمونه
    http://s15.picofile.com/file/8409923...color.rar.html


  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1397
    محل زندگی
    شیراز
    پست
    318

    نقل قول: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

    سلام
    جالب بود ممنون

  3. #3
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    797

    نقل قول: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

    سلام
    این تغییر رنگ متن از طریق API و توابع ویندوز صورت می گیرد.
    در ماژول فوق ابتدا متغییری بنام defaultColour از نوع long تعریف شده . در خط بعدی رنگ متن پیشفرض ویندوز ( همان رنگی که در حال حاضر در قسمت های مختلف ویندور در حال مشاهده و کار کردن با اون هستید) در متغیر فوق ذخیره میشود . در خط بعدی رنگ متن سیستمی دلخواه رو برای پنجره مورد نظر ( در اینجا مسیج باکس) انتخاب شده ( در اینجا برای پیغام اول رنگ قرمز و پیغام دوم سبز انتخاب شده) فراخوانی میشود . در خط بعدی فراخوانی پنجره مورد نظر( در اینجا مسیج باکس) و در در خط آخر برگرداندن رنگ متن به حالت پیشفرض و اولیه .
    اگر خط آخر درج نشود رنگ متن بخش های مختلف سیستم به رنگ انتخاب شده تبدیل میشود . بنابراین لازم است پس از تغییر رنگ پنجره مورد نظرمون رنگ سیستم دوباره به همان رنگ اولیه تبدیل شود.
    طریقه استفاده هم به همون صورت معمولی است که در برنامه ها از مسیج باکس استفاده می کنید تنها چیزی که باید مد نظر قرار داد همان موردهائی که در بالا اشاره کردم . یعنی ذخیره رنگ پیشفرض در یک متغیر . انتخاب رنگ مورد نظر و در پایان برگرداندن رنگ به حالت پیشفرض
    به کدهای زیر توجه بفرما:

    Dim defaultColour As Long
    defaultColour = GetSysColor(COLOR_WINDOWTEXT)
    SetSysColors CHANGE_INDEX, COLOR_WINDOWTEXT, vbRed
    If MsgBox("ÂíÇ ãØãÆä Èå ÍÐÝ ˜ÑÏä јæÑÏ ÌÇÑí ãí ÈÇÔíÏ¿", vbQuestion + vbMsgBoxRight + vbDefaultButton2 + vbYesNo, "ÍÐÝ ˜ÑÏä") = vbYes Then
    MsgBox "OK"
    End If
    SetSysColors CHANGE_INDEX, COLOR_WINDOWTEXT, defaultColour


    می بینید که این تغییر رنگ هیچ اثری بر حالت استفاده از مسیج باکس ندارد .
    با استفاده از این کدها دیگر نیازی به ماژول MsgBoxColorDemo نخواهید داشت و میتوانید از قسمت ماژول های عمومی آن را حذف کنید.

    در پایان پیشنهاد بنده اینست که اگر میخواهید یک مسیج باکس زیبا و جذاب داشته باشی و در برنامه هات از آن استفاده کنی اقدام به ساخت یک مسیج باکس سفارشی بکنید
    آخرین ویرایش به وسیله eb_1345 : یک شنبه 13 مهر 1399 در 13:35 عصر

  4. #4
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

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

    تو این خط خطا میده
    defaultColour = GetSysColor(COLOR_WINDOWTEXT)

    GetSysColor........

  5. #5
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    797

    نقل قول: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

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

    نقل قول نوشته شده توسط narpco مشاهده تاپیک
    تو این خط خطا میده
    defaultColour = GetSysColor(COLOR_WINDOWTEXT)

    GetSysColor........
    نباید خطا بده
    GetSysColor........ چیه زیر این کد ؟

  6. #6
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    797

    نقل قول: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

    نمونه اصلاح شده خودت رو بررسی کن!
    فایل های ضمیمه فایل های ضمیمه

  7. #7
    کاربر دائمی آواتار narpco
    تاریخ عضویت
    فروردین 1397
    محل زندگی
    کرج
    پست
    352

    نقل قول: تغییر رنگ متن یا کادر- MSGBOX-توسط ماژول پیوست

    خیلی جالب شد ..بسیار ممنون .....

تاپیک های مشابه

  1. چگونگی تغییر height آی فریم با توجه به صفحه پیوست شده به صورت پویا
    نوشته شده توسط webpower در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: دوشنبه 12 تیر 1391, 16:20 عصر
  2. سوال: پیوست کردن فایل word یا اکسل به برنامه توسط کاربر
    نوشته شده توسط hosein3000 در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: سه شنبه 23 اسفند 1390, 12:21 عصر
  3. سوال: نحوه تغییر سیستم لکال ؟(البته عکس هم پیوست شده).
    نوشته شده توسط mohammadriano در بخش VB.NET
    پاسخ: 6
    آخرین پست: شنبه 24 دی 1390, 21:54 عصر
  4. سوال: تغییر نام فایل پیوست docx به zip در IE
    نوشته شده توسط setare_kz در بخش PHP
    پاسخ: 5
    آخرین پست: سه شنبه 21 اردیبهشت 1389, 09:21 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •