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

نام تاپیک: اضافه کردن دکمه به MsgBox

  1. #1

    اضافه کردن دکمه به MsgBox

    با سلام خدمت تمامی استادان
    من می خواستم برنامه ای بنوسم که یک پیغام به کاربر بده(در قبال انجام کاری که می کنه) می خواستم بدونم که چی جوری می شه دکمه هایی رو برای این پیغام بزارم(می خواستم بدونم چه دکمه هایی هست و آیا می شه دکمه های جدید هم ساخت؟)
    همچنین چی جوری می شه که شکل عنوان(سمت چپ عنوان) رو انتخاب کرد(دلخواه به نظر برنامه نویس)

  2. #2
    در ضمن یادم رفت بگم
    چی جوری می شه که به رویدادهای مربوط به کلیک روی هر کدوم از کلید ها پاسخ داد؟
    مثلا:
    یک پیغام داریم که از کاربر می پرسه که می خوای ادامه بدی یا نه؟
    اگر بگه بله به مرحله بعد بره(یا یک پیغام جدید بدیم) و اگر بگه نه به مرحله قبل برگرده
    حالا چی جوری می شه این رویداد رو تنظیم کرد؟

  3. #3
    کاربر دائمی آواتار Ali_Mor
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کره خاک، البته بصورت موقتی
    پست
    259
    با سلام
    دومین آرگومان تابعMsgBox تعداد و نوع دکمه های فرم را مشخص می کند
    در هنگام نوشتن این آرگومان(هنگامی که بعد از آرگومان اول " , " را تایپ میکنید ) لیستی از انواع دکمه هائی که امکان دارد در روی فرم قرار دهید ظاهر میشود که می توانید یکی از آنها را انتخاب نمائید. اگر بعد از این انتخاب "+" را تایپ کنید لیستی از آیکونهائی را که میتوانید در کنار دکمه قرار دهید ظاهر می گردد که می توانید یکی از آنها را انتخاب نمائید.
    مثلا اگر چنین بنویسد
    <span dir=ltr>i = MsgBox("test...", vbAbortRetryIgnore + vbQuestion)</span>
    یک جعبه پیام با سه دکمه Abortو IgnoreوRetry به همراه یک آیکون علامت سوال دیده میشود.
    این تابع مقادیری از نوعVbMsgBoxResultرا بر می گرداند که مثلا در مثال فوق می توانید i را چنین تعریف کنید
    <span dir=ltr>dim i as VbMsgBoxResult </span>
    در این صورت اگر کاربر مثلا دکمه Ignoreرا کلیک کندنام ثابتvbIgnore (با مقدار 5) در i قرار میگیرد ,که با بررسی i میتوانید دکمه فشرده شده را یافته و برای آن رویدادی بنویسید.
    توصیه میکنم از Object Browserبرای آشنائی با توابع , متدها و ... درVB استفاده نمائید.
    </span>

  4. #4
    شما دستور رو به این شکل نوشتید
    = MsgBox("test...", vbAbortRetryIgnore + vbQuestion)
    ولی مگه
    = MsgBox("test...", vbAbortRetryIgnore , vbQuestion)
    درست نیست
    همچنین من کاری که گفتید کردم ولی لیستی ظاهر نشد :( :oops: :wink:

  5. #5
    کاربر دائمی آواتار بمب منطقی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    شمال-ایران
    پست
    1,049
    سلام:
    تمام چیزی که Ali_Mor گفتن درسته جز یک چیز , باید متغیر( i) رو از نوع integer بگیری وبه صورت زیر کد دستور رو بنویسی:
    dim i as integer
    i=msgbox("this is sample",vbyesno+vbQuestion)' this is body masage
    کد کلید yes برابر با 6 و کد کلید No برابر با 7 می باشد. پس در ادامه می نویسیم:
    ...if (i=6) then
    ...if (i=7) then
    شما بجای سه نقطه هر دستوری رو می تونید قرار بدید مثلا " text1.text="salam

    با تشکر.

  6. #6
    من به جای اینکه رویداد مربوط به کلیک رو به این صورت(if (i=6) then..( بنویسم یک راست نوشتم 6=...... که البته کار هم کرد :D
    حالا برای بعدها آیا دچار مشکل می شه یا نه؟ :roll:

  7. #7
    کاربر دائمی آواتار Ali_Mor
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کره خاک، البته بصورت موقتی
    پست
    259
    با سلام خدمت بمب منطقی عزیز
    جسارتا عرض میکنم:
    اگر دقت نمائید تعریف تابع در Object Browserچنین است, که نتیجه ان از نوع VbMsgBoxResultمیباشد.
    <span dir=ltr>Function MsgBox(Prompt, [Buttons As VbMsgBoxStyle = vbOKOnly], [Title], [HelpFile], [Context]) As VbMsgBoxResult</span>
    البته من هم میدانم که ابن نوع در حقیقت مجموعه ای از ثوابتی با مقادبر عددی(integer )می باشد, ولی استفاده از نوع VbMsgBoxResultنه تنها خوانائی برنامه زیاد میکند بلکه برای چک کردن مقدار آن نبز میتوانیم از نام ثوابت (مانندvbCancel ) استفاده کنیم و دیگر نیازی به حفظ کردن مقادیر عددی آنها نیست.
    <span dir=ltr>if i=vbOK then ...</span>

    اما در مورد سوال اخیر اقا احسان فکر نمیکنم مشکلی به وجود آید.

  8. #8
    یه نفر دیده و گفته که مثل اینکه یک مشکل تو کل برنامه هست
    اما نگفت کجا :cry: موندم که آیا اینه یا نه :?:

  9. #9
    کاربر دائمی آواتار بمب منطقی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    شمال-ایران
    پست
    1,049
    با سلام:
    آقا علی واقعا ممنونم که این مورد رو به من متذکر شدی. هر وقت کسی , چیزی به من یاد بده من مخلصش می شم (طبق فرموده حضرت علی (ع) , البته به صورت عامیانه :P ).بعد از این سعی می کنم تو برنامه هام از این روش استفاده کنم.

    بازم ممنونم. :oops: :oops:

  10. #10
    کاربر دائمی آواتار jannati
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    728
    با اجازه اساتید
    دوست عزیز اگه دوست داشته باشی میتونی به msgboxهات آیکون هم اضافه کنی .اول در formloadکد زیر رو وارد کن:

    Private Sub Form_Load&#40;&#41;
    mbuttontype = vbYesNo
    mbuttonicon = 16
    mmodal = vbApplicationModal
    end sub

    شماره 16 شکل آیکون را تعیین میکند که میتونه 8 یا 32 یا 64 باشه.
    بعد msgboxرا اینطوری صدا بزن:

    r = MsgBox&#40;"تمام‌اسامی زیرگروه پاک میشود.آیامطمئن هستید؟", mbuttontype + mbuttonicon + mmodal, "هشدار"&#41;

    امیدوارم برنامه‌ات قشنگ بشه

  11. #11
    کاربر دائمی آواتار Ali_Mor
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کره خاک، البته بصورت موقتی
    پست
    259
    سلام
    بمب منطقی جان
    شما لطف دارید . از اینکه در این سایت با شما دوستان آشنا شدم و از رهنمودها و کمکهای شما بهره بردم بسیار خوشحال هستم وخداوند را شاکرم.
    :D :) :lol: :lol:

  12. #12
    کاربر دائمی آواتار بمب منطقی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    شمال-ایران
    پست
    1,049
    سلام:
    اول از جنتی تشکر می کنم که این موضوع رو گفتن چون این یکی از مشکلات من بود.
    دوم: خدمت علی آقا , که امیدوارم در مراحل بعدی تحصیل علم مشکلات همدیگه رو حل کنیم و پشتیبان هم باشیم. :P

    با تشکر.

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

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