CmboBox to list box

manoto129

New Member
سلام من می خوام اتورانی درست کنم که comboBox روبه list box ارتباط بدم وبرای ساخت com box از Box plugin استفاده می کنم ودراتوران چندتالیست باکس دارم ومی خوام هنگامی که اتوران اجرامی شه آیتم اول comBox آیتم All باشه وتمامی ایتم های لیست باکس رونشون بده ازدوستان کسانی که دراین ضمینه اطلاعات دارن ممنون می شم راهنمایی کنید
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اول اینکه پیشنهاد می کنم برای ComboBox از پلاگین G_ComboBox یا کتیبه استفاده کنید. خب مشکلتون چی هست ؟ ساخت ComboBox و اضافه کردن آیتم ها ؟ ارتباط با لیست باکس ؟ روش کار ساده هست، شما آیتم ها رو به ComboBox اضافه می کنید و در اسکریپت Handler پلاگین با شرط چک می کنید که اگر مثلا آیتم "All" انتخاب شده باشه، فلان کد رو اجرا کن. بیشتر توضیح بدید.
 

manoto129

New Member
سلام دوست عزیزبرای ساخت ComboBox میخوام ازپلاگین کتیبه استفاده کنم دراین پلاگین درقسمت ComboBox درpage properties همین طورکه میدونی اسکریپت زیرواردشده است ومن می خواهم ازهمون قسمتی که abtin داره استفاده کنم
کد:
If (page1object=0) Then
  Page("EditBox")
  Return()
End
If (page6object=0) Then
  page6object=1
  var$ ='MMB|ComboBox|315|130|100|21|Mask ...'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  *****
  var$ ='MMB|ComboBox|315|170|100|21|Type it ...|242,242,242|140,0,0|R|1|'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  var$ ='Object22|Member22|ComboBox|Combo_Style|DropDown'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
  *****
  var$ ='MMB|ComboBox|316|211|83|20||||||0'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  *****
  var$ ='MMB|ComboBox|465|135|125|20|||0,0,255||1|0'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  var$ ='Object24|Member24|ComboBox|Combo_Style|OwnerDrawVariable'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
  *****
  var$ ='MMB|ComboBox|465|175|125|20||225,235,255|0,0,255||1|0'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  *****
  var$ ='MMB|ComboBox|485|215|105|20|||0,0,255|R|1|0'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  var$ ='Object26|Member26|ComboBox|Combo_Style|Simple'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
  For i=1 To 20
    var$ = 'Object21|Member21|ComboBox|Add_Item|Abtin' +CHAR(i)
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
    var$ = 'Object22|Member22|ComboBox|Add_Item|Item' +CHAR(i)
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
    var$ = 'Object23|Member23|ComboBox|Add_Item|Item' +CHAR(i)
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
    var$ = 'Object24|Member24|ComboBox|Add_Item|Abtin' +CHAR(i)
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
    var$ = 'Object25|Member25|ComboBox|Add_Item|Item' +CHAR(i)
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
    var$ = 'Object26|Member26|ComboBox|Add_Item|Item' +CHAR(i)
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
  Next i
  For i=21 To 26
    var$ = 'Object'+CHAR(i)+'|Member'+CHAR(i)+'|ComboBox|Select_Item|1'
    PluginSet("Epigraph","var$")
    PluginRun("Epigraph","Set_Param")
  Next i
End
*************
For i=21 To 26
  var$ = 'Object'+CHAR(i)+'|Show_Object'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
Next i
Refresh("")
tab=1
*********
MoveTo("Master Layer::Bitmap1","261,90,10")
*********
PluginRun("Epigraph","Get_numObject")
PluginGet("Epigraph","Obj$")
PluginRun("Epigraph","Get_numMember")
PluginGet("Epigraph","Mem$")
ob$='Ob:'+Obj$+'  M:'+Mem$
DisplayValue("Header1","ob$")


این قسمت رومی خوام استفاده کنم
کد:
  var$ ='MMB|ComboBox|27|60|192|20|||0,0,255||1|0'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Create_Object")
  var$ ='Object24|Member24|ComboBox|Combo_Style|OwnerDrawVariable'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
ومن قسمت های بالارودر اسکریپت page properties واردمی کنم ازاتوران خودبه خودبیرون میره می دونم اسکریپت روناقص واردکردم وبایددراسکریپت اولی قسمت هایی که لازم است واردکنم؟

حالابرای ساخت آیتم های مثلا Autoran ,Antivirus ,All درCombobox چکارکنم؟
وبعدسه تالیست باکس درست کنم به نام های Autoran ,Antivirus ,Allکه بعدcombobox روبه لیست باکس ارتباط بدم دراین قسمت هم مشکل دارم؟
وبعدمی خوام برای لیست باکس جستجودرست کنم
دوست عزیزببخش منواین قدرسوالاتم زیاده ممنون می شم ازت راهنمایی کنید
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
برای استفاده از هر پلاگینی از نمونه ی همراه اون کمک بگیرید.

کد:
var$ ='MMB|ComboBox|205|105|100|21'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Create_Object")
For i=1 To 100
  var$ = 'Object1|Member1|ComboBox|Add_Item|Abtin Co' +CHAR(i)
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
Next i
var$ = 'Object1|Member1|ComboBox|Select_Item|1'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
var$ = 'Object1|Member1|ComboBox|Set_ComboBox_Handler|CTRL,ALT,SHIFT,A'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
این کدی هست که برای ساخت ComboBox، اضافه کردن آیتم و معرفی اسکریپت Handler در نسخه ی 2.0 پلاگین کتیبه استفاده میشه.
توجه کنید که چون این اولین شئ ای هست که ساخته میشه، برای ارجاع به اون از Object1 و Member1 استفاده میشه.

بعد از اون یک اسکریپت ایجاد کنید و یک ترکیب کلیدها رو برای اجرای اون تعیین کنید، بر طبق این کد باید ترکیب کلیدهای CTRL+SHIIFT+ALT+A رو برای اون فعال کنید، حالا هربار اتفاقی در این شئ بیفته، این اسکریپت اجرا میشه.
اسکریپت Handler رو در نمونه ی همراه پلاگین بررسی کنید. فقط توجه کنید اگر کدها رو کپی کردید، بجای Object6 و Member6 از Object1 و Member1 استفاده کنید.

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

برای ایجاد جستجو هم راه های متفاوتی وجود داره که بسته به نیازتون از هر روش می تونید استفاده کنید.

تا اینجای کار تست کنید و اگر مشکلی بود بفرمایید. برای ادامه ی سوالتون هم جزئیات رو مطرح کنید تا بشه درست راهنماییتون کرد.
 

manoto129

New Member
دوست عزیزکدی که گفتی به صورت زیر ویرایش کردم ببین درسته
کد:
var$ ='MMB|ComboBox|27|60|192|21'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Create_Object")
var$ = 'Object1|Member1|ComboBox|Add_Item|All'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
var$ = 'Object1|Member1|ComboBox|Add_Item|Autoran'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
var$ = 'Object1|Member1|ComboBox|Select_Item|1'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
var$ = 'Object1|Member1|ComboBox|Set_ComboBox_Handler|CTRL,ALT,SHIFT,A'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")

حالابرای اضافه کردن رویدادی درآیتم all دراسکریپت Handler چکارکتم؟وآیتم all که دربالاست آیابایدبهش مشخصه خاصی روبدم تادراسکریپتHandler خوانده بشه؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
این کد نومونه ی اسکریپت Handler هست:
کد:
PluginGet("Epigraph","Click$")

*************************
If (Click$='Member1-Select') Then
  var$ = 'Object1|Member1|ComboBox|Get_SelectedItem'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
  PluginGet("Epigraph","var$")
  var$='ComboBox6-Select-'+var$
  DisplayValue("handlerText","var$")
End
If (Click$='Member1-Change') Then
  var$ = 'Object1|Member1|ComboBox|Get_Text'
  PluginSet("Epigraph","var$")
  PluginRun("Epigraph","Set_Param")
  PluginGet("Epigraph","var$")
  var$='ComboBox6-Change-'+var$
  DisplayValue("handlerText","var$")
End

همونطور که میبینید در خط اول جزئیات رویداد از پلاگین دریافت میشه و در متغیر $Click ذخیره میشه، حالا با ساختارهای شرطی می تونید بررسی کنید که اگر یک رویداد خاص اتفاق افتاده بود، کد های خاصی اجرا بشه
من در مثال همراه پلاگین دو رویداد Select و Change رو برای ComboBox دیدم.

اگر توجه کنید در رویداد Select با دستور Get_SelectedItem آیتم انتخاب شده رو بدست میاریم(متغیر $Var)، حالا با یک شرط می تونیم چک کنیم که اگر آیتم انخاب شده برابر "All" بود یک دستور اجرا بشه.
 

manoto129

New Member
دوست عزیزهمون طورکه گفتی انجام دادم اماکارخاصی انجام نگرفت بی زحمت فایل زیرروببین اشکالم چیه؟
 

پیوست ها

  • combobox.rar
    1.1 مگایابت · بازدیدها: 34

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
دوتا اشتباه داشتید، اول اینکه یک ترکیب از کلیدها رو برای اسکریپت handler مشخص نکرده بودید (همون ترکیب که در کد مشخص کردید - در کد بالا: CTRL+ALT+SHIFT+A)

attachment.php


و دوم اینکه شما باید آیتم انتخاب شده رو دریافت کنید و بعد چک کنید ببینید مقدار دریافتی اگر برابر Antivirus بود کدی اجرا بشه، کد اصلاح شده ی اسکریپت Handler این هست:

[BASS]**// Catch the event
PluginGet("Epigraph","Click$")
*************************
**// Checked if the fired event is "Select" for ComboBox
If (Click$='Member1-Select') Then
var$ = 'Object1|Member1|ComboBox|Get_SelectedItem'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
PluginGet("Epigraph","var$")
If (var$ = 'Antivirus') Then
**// "Antivirus" is selected
Message("Antivirus","")
End
If (var$ = 'All') Then
**// "All" is selected
Message("All","")
End
End

[/BASS]

در این کد من از یک Message Box برای نشون دادن اجرای کد استفاده کردم، شما باید کدهایی که مدنظرتون هست رو در ا.ن قسمت بنویسید
 

پیوست ها

  • Key-Combination.png
    Key-Combination.png
    18.5 کیلوبایت · بازدیدها: 72

manoto129

New Member
سلام دوست عزیزممنونم
حالادرقسمت ارتباط دادن comboobx به listbox راه های که به نظرم اومداین بودکه چندتاصفحه درست کنم ولیست باکس های موردنظررو درصفحه هادرست کنم وباانتخاب آیتم combobox به صحفا ای که لیت باکس هست بره اما
من اراتوران لیست باکس های زیادی دارم دیدم این روش نمی شه
روشی که به نظرم اومداستفاده ازاسکریپت ListBoxAddItem("SongList","<Embedded>\All.txt") بوداین اسکریپت رودرقسمت handler واردکردم وکمبوباکس روبه لیست باکس ارتباط دادم
امادراین وش دوتامشکل دارم همون طورکه می دونی برای ساخت ایتم های لیست باکس ازاسکرپت زیراستفاده می شه
کد:
str$= 'Multimedia#'
ListBoxAddItem("ListBox","str$,#")
ListBoxAddItem("ListBox1","str$,#")
وبرای درج رویدادی درلیست باکس ازاسکریپت زیر
کد:
ListBoxGetSelectedItems("ListBox1","SelItems$,ItemsOrderNum$,#,NumOfAllItems")
For i=NumOfAllItems To 1
  t$ = GetArrayItem(SelItems$,#,i)
  numitem$ = GetArrayItem(ItemsOrderNum$,#,i)
  numitem = VAL(numitem$)
Next i
If (t$=''Multimedia') Then
  Page("page 5")

استفاده می شه
اماایتم های لیست باکس من Embeddedشده است ومن برای فراخوانی ایتم موردنظروثبت رویدادخاص که دردرون فایل txt هست وEmbeddedشده هست ارچه اسکریپت استفاده کنم ؟ید
ومشکل دوم هنگامی که آیتم مثلا Antivirus درCobBox فراخوانی می شه ولیست باکس مربوطه به نمایش درمی ایداگرآیتم Combobox روعوض کنم ودوباره آیتم Antivirus روفراخوانی کنم دوتا لیست باکس به نمایش درمی اید برای رفع این مشکل می دونم باید از show hide استفادن کنم امامتاسفانه نمی دونم
واینم مثال
 

پیوست ها

  • combobox to listbox.rar
    1.1 مگایابت · بازدیدها: 49

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
با استفاده از کد زیر قبل از اضافه کردن آیتم ها، لیست باکس رو پاک کنید:
کد:
ListBoxAddItem("SongList","RESET")

کد نهایی اسکریپت Handler این میشه:

[BASS]**// Catch the event
PluginGet("Epigraph","Click$")
*************************
**// Checked if the fired event is "Select" for ComboBox
If (Click$='Member1-Select') Then
var$ = 'Object1|Member1|ComboBox|Get_SelectedItem'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
PluginGet("Epigraph","var$")
If (var$ = 'Antivirus') Then
**// "Antivirus" is selected
ListBoxAddItem("SongList","RESET")
ListBoxAddItem("SongList","<Embedded>\Antiviruslist.txt")
End
If (var$ = 'All') Then
**// "All" is selected
ListBoxAddItem("SongList","RESET")
ListBoxAddItem("SongList","<Embedded>\All.txt")
End
If (var$ = 'Autoran') Then
**// "Autoran" is selected
ListBoxAddItem("SongList","RESET")
ListBoxAddItem("SongList","<Embedded>\Autoran list.txt")
End
End

[/BASS]
 

manoto129

New Member
سلام دوست عزیزبه دلایلی تصمیم گرفتم برای ساخت ComboBox از پلاگین Boxplugin استفاده کنم
درپلاگین Epigraph همون طورکه می دونی برای به ترتیب کردن آیتم ها ازاسکریپت زیراستفاده می شود
کد:
var$ = 'Object1|Member1|ComboBox|Select_Item|1'
PluginSet("Epigraph","var$")
PluginRun("Epigraph","Set_Param")
حالادرپلاگین Boxplugin برای به ترتیب کردن ایتم ها ازچه اسکریپتی استفاده کنم
مثال زیرComboBox باپلاگین Boxplugin استفاده کردم شامل 3 آیتم به نام های AllوDesktop ToolsوMultimedia می باشدحالا می خواهم وقتی اتوران شروع به کارمی کندآیتم Allدرکمبوباکس اولین گزینه باشد.
 

پیوست ها

  • combobox.rar
    1.1 مگایابت · بازدیدها: 32

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
من به MMB دسترسی ندارم فعلاً، اما روش کار رو عرض کردم، حالا با هر پلاگینی
به هر عنوان هر پلاگینی که همچین اشیائی رو ایجاد میکنه، روش هایی برای مدیریت رخداد ها هم داره، شما چک کنید برای این پلاگین چطور یه اسکریپت رو بعنوان Handler به پلاگین معرفی میکنن و ادامه ی کار هم که به همون شکل.
باید مثال ها و راهنمای اون پلاگین خاص رو بررسی کنید.
 

جدیدترین ارسال ها

بالا