توضیحات تکمیلی و نحوه استفاده :
FindSkin اسکریپتی است کارش مشخص کردن مسیر $skin است تا تصاویر آپشن باکس رو بشه فراخوانی کرد.
قبل از هر چیز بایستی اسکریپ FindSkin اجرا بشه تا مسیر $skin روی پوشه Skin تنظیم بشه. می توانید بجای
اجرا کردن FindSkin خودتون مقدار $skin رو روی پوشه مورد نظر تنظیم کنید. پیشنهاد ام اینه که اینکار همانند خود
پروژه پیوستی در اسکریپ Page Start انجام بشه :
CheckHover اسکریپتی است که هر 50 میلی ثانیه یکبار بررسی می کنه که آیا ماوس روی یکی از آپشن باکس ها
قرار گرفته یا نه. و بر اساس این بررسی رخداد های Enter و Leave و Up آپشن باکس ها رو فراخوانی می کنه. چون اجرا شدن
این رخداد برای نمایش صحیح آپشن باکس ها لازمه، حتما در همون ابتدای اجرا پروژه فراخوانی اش کنید :
CreateOptionbox رو زمانی فراخوانی کنید که بخواهید یک آپشن باکس روی Page تون بسازید و قرار بدهید.
قبل از فراخوانی اش حتما مقادیر زیر رو مشخص کنید :
$optionboxName نام آپشن باکس شما خواهد بود، مثلا MyOptionbox1 ، از بکار بردن نام های تکراری برای چندین
آپشن باکس بپرهیزید.
$optionboxText عنوان نمایشی آپشن باکس شما است، مثلا Sample
$optionboxState وضعیت آپشن باکس شما است، که باید enabled و یا disabled باشد.
optionboxValue وضعیت انتخاب شدن آپشن باکس است که یکی از اعداد 0 و 1 می باشد، 0 برای انتخاب نشده
و 1 برای انتخاب شده.
$optionboxGroup اسم گروهی است که آپشن باکس به آن تعلق دارد، مثلا group1 یا 123 .در صورتی که چند
آپشن باکس را با اسم گروه یکسان بسازید بصورت همزمان فقط یکی از آنها می تواند انتخاب شود. توجه داشته باشید
که اسم گروه به حروف بزرگ و کوچک حساس است.
optionboxLeft موقعیت افقی x آپشن باکس شما روی صفحه است، مثلا 20
optionboxTop موقعیت عمودی y آپشن باکس شما روی صفحه است، مثلا 50
rightToLeft چپ به راست و یا راست به چپ بودن آپشن باکس را تعیین می کند. 0 برای چپ به راست و 1 برای راست به چپ
طول و عرض آپشن باکس بصورت خودکار با توجه به طول عنوان نمایشی تعیین خواهند شد.
بعد از مشخص کردن مقادیر بالا آپشن باکس را با فراخوانی کردن CreateOptionbox می سازید :
کد:
optionboxName$ = 'MyOptionbox1'
optionboxState$ = 'enabled'
optionboxText$ = 'Sample'
optionboxValue = 0
optionboxGroup$ = 'group1'
optionboxLeft = 20
optionboxTop = 50
rightToLeft = 0
RunScript("CreateOptionbox")
DeleteOptionbox آپشن باکس مورد نظر رو حذف خواهد کرد. قبل از فراخوانی اش، مقدار $optionboxName رو مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("DeleteOptionbox")
GetOptionboxText عنوان نمایشی آپشن باکس را بر می گرداند، شما مقدار $optionboxName رو قبل از فراخوانی اش
مشخص کنید تا بعد از فراخوانی اش مقدار $optionboxText را تنظیم کند :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("GetOptionboxText")
SetOptionboxText می تواند عنوان نمایشی یک آپشن باکس را تغییر دهد، شما مقدار $optionboxName و $optionboxText را
قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
optionboxText$ = 'Sample'
RunScript("SetOptionboxText")
GetOptionboxState وضعیت آپشن باکس (enabled / disabled) را بر می گرداند. شما مقدار $optionboxName رو قبل از
فراخوانی اش مشخص کنید تا بعد از فراخوانی اش مقدار $optionboxState را تنظیم کند :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("GetOptionboxState")
SetOptionboxState وضعیت آپشن باکس (enabled / disabled) را تغییر می دهد. شما مقدار $optionboxName و همچنین
$optionboxState رو قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
optionboxState$ = 'disabled'
RunScript("SetOptionboxState")
GetOptionboxValue وضعیت انتخاب شدن آپشن باکس (0 یا 1) را بر می گرداند. شما مقدار $optionboxName رو قبل از
فراخوانی اش مشخص کنید تا بعد از فراخوانی اش مقدار optionboxValue را تنظیم کند :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("GetOptionboxValue")
SetOptionboxValue وضعیت انتخاب شدن آپشن باکس (0 یا 1) را تغییر می دهد. شما مقدار $optionboxName و همچنین
optionboxValue رو قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
optionboxValue = 1
RunScript("SetOptionboxValue")
GetOptionboxGroup اسم گروهی که آپشن باکس به آن تعلق دارد را بر می گرداند. شما مقدار
$optionboxName رو قبل از فراخوانی اش مشخص کنید تا بعد از فراخوانی اش مقدار $optionboxGroup را تنظیم کند :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("GetOptionboxGroup")
SetOptionboxGroup اسم گروهی که آپشن باکس به آن تعلق دارد را تغییر می دهد. شما مقدار
$optionboxName و همچنین $optionboxGroup رو قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
optionboxGroup$ = '123'
RunScript("SetOptionboxValue")
GetOptionboxPos موقعیت و طول و عرض آپشن باکس را بر می گرداند. شما مقدار $optionboxName رو قبل از
فراخوانی اش مشخص کنید تا بعد از فراخوانی اش مقدار optionboxLeft و optionboxTop و optionboxWidth و optionboxHeight
را تنظیم کند :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("GetOptionboxPos")
MoveOptionbox موقعیت (x و y) آپشن باکس را تغییر می دهد، بدون آنکه در ابعاد آن تغییری ایجاد کند. شما مقدار
$optionboxName و optionboxLeft و optionboxTop رو قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
optionboxLeft = 20
optionboxTop = 50
RunScript("MoveOptionbox")
GetRightToLeft وضعیت راست به چپ آپشن باکس (0 یا 1) را بر می گرداند. شما مقدار $optionboxName رو قبل از
فراخوانی اش مشخص کنید تا بعد از فراخوانی اش مقدار rightToLeft را تنظیم کند :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("GetRightToLeft")
SetRightToLeft وضعیت راست به چپ آپشن باکس (0 یا 1) را تغییر می دهد. شما مقدار $optionboxName و همچنین
rightToLeft رو قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
rightToLeft = 1
RunScript("SetRightToLeft")
ShowOptionbox همانند دستور Show برای خارج کردن یک آپشن باکس از حالت پنهان بکار می رود. شما مقدار $optionboxName
رو قبل از فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("ShowOptionbox")
HideOptionbox همانند دستور Hide برای پنهان کردن یک آپشن باکس بکار می رود. شما مقدار $optionboxName رو قبل از
فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("HideOptionbox")
InvertOptionbox همانند دستور Invert برای آشکار / پنهان کردن یک آپشن باکس بکار می رود. شما مقدار $optionboxName رو قبل از
فراخوانی اش مشخص کنید :
کد:
optionboxName$ = 'MyOptionbox1'
RunScript("InvertOptionbox")
رخداد
OptionboxClick رو شما فراخوانی نمی کنید، بلکه داخلش اش هر کدی که خواستید بنویسید تا زمانی که روی
یک آپشن باکس کلیک شد و وضعیت تیک اش تغییر کرد اجرا گردد. نام آپشن باکس فشرده شده توسط $optionboxName در دسترس شما است.
به بقیه رخداد ها یعنی
OptionboxDown و
OptionboxUp و
OptionboxEnter و
OptionboxLeave کاری ندارید،
مگر اینکه بدانید چه چیزی را تغییر می دهید. این رخداد ها بصورت خودکار فراخوانی می شوند.
FindOptionbox برای پیدا کردن نام یک آپشن باکس در میان آپشن باکس ها فراخوانی می شود. شما اصولا کاری با آن ندارید.
UncheckOptionbox تمامی آپشن باکس های یک گروه را از حالت انتخاب شده خارج می کند. شما اصولا کاری
با آن ندارید.
متغیر
optionboxCount همواره تعداد آپشن باکس های ساخته شده را نشان می دهد. به هیچ وجه مقدار اش را تغییر ندهید.
$optionboxNames یک آرایه است که نام آپشن باکس ها در آن نوشته شده، مثلا [2]$optionboxNames نام دومین آپشن باکس است.
به هیچ وجه مقادیر این آرایه را تغییر ندهید.
$optionboxTexts یک آرایه است که عنوان نمایشی آپشن باکس ها در آن نوشته شده،
مثلا [2]$optionboxTexts عنوان دومین آپشن باکس است. به هیچ وجه مقادیر این آرایه را بصورت دستی تغییر ندهید،
فقط از SetOptionboxText استفاده کنید.
$optionboxStates یک آرایه است که وضعیت enabled / disabled آپشن باکس ها در آن نوشته شده،
مثلا [2]$optionboxStates وضعیت دومین آپشن باکس است. به هیچ وجه مقادیر این آرایه را بصورت دستی
تغییر ندهید، فقط از SetOptionboxState استفاده کنید.
optionboxValues یک آرایه است که وضعیت انتخاب شدن آپشن باکس ها در آن نوشته شده،
مثلا [2]optionboxValues وضعیت انتخاب شدن دومین آپشن باکس است. به هیچ وجه مقادیر این آرایه را بصورت
دستی تغییر ندهید، فقط از SetOptionboxValue استفاده کنید.
$optionboxGroups$ یک آرایه است که اسم گروه آپشن باکس ها در آن نوشته شده،
مثلا [2]$optionboxGroups اسم گروه دومین آپشن باکس است. به هیچ وجه مقادیر این آرایه را بصورت دستی
تغییر ندهید، فقط از SetOptionboxGroup استفاده کنید.
optionboxRightToLefts یک آرایه است که وضعیت چپ به راست آپشن باکس ها در آن نوشته شده، مثلا [2]optionboxRightToLefts وضعیت چپ به راست دومین
آپشن باکس است. به هیچ وجه مقادیر این آرایه را بصورت دستی تغییر ندهید، فقط از SetRightToLeft استفاده کنید.
نکات قابل توجه :
- طول و عرض آپشن باکس بر اساس ابعاد عنوان نمایشی اش تعیین می شود، بدون آنکه در موقعیت x و y آپشن باکس تغییری رخ دهد.
- هر آپشن باکس از 2 جزء گرافیکی HotSpot و یک Text تشکیل شده، یعنی جمعا هر آپشن باکس 3 تیکه کنار هم است.
- برای ترکیب کردن این آموزش با آموزش های دیگر عجله نکنید، در آینده کد مجموعه این آموزش ها بصورت مناسبی با هم ادغام خواهند شد.