ComboboxG's 'BUG', when use #PB_ComboBox_Editable

Just starting out? Need help? Post your questions and find answers here.
User avatar
gurj
Enthusiast
Enthusiast
Posts: 664
Joined: Thu Jan 22, 2009 3:48 am
Location: china
Contact:

ComboboxG's 'BUG', when use #PB_ComboBox_Editable

Post by gurj »

ComboboxG's 'BUG', when use #PB_ComboBox_Editable
[x86 pb5.70 winxp x86]
Whether or not to use Editable,ComboboxG's 'BUG' is:
When its state is X and X>-1,
If you remove item (X),
The status changes to -1,

So its text becomes blank.
But when using editable, if its state is -1, its text should not be forced into a blank, otherwise it is a bug.

Code: Select all

OpenWindow(0, 100, 90, 215, 140, "FindBug", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
LoadFont(0,"system", 12):SetGadgetFont(#PB_Default, FontID(0))
g=ComboBoxGadget(1, 5, 5, 205, 25);,#PB_ComboBox_Editable)
TextGadget(3, 5, 35, 100, 25, "State")
SetGadgetColor(3,#PB_Gadget_FrontColor,#Red)
ButtonGadget(2, 5, 65, 100, 25, "test")

For a=0 To 29
 AddGadgetItem(1,a,Str(a))
Next
SetGadgetText(1,"-1")
Repeat:ev=WaitWindowEvent():Select ev
  Case #PB_Event_Gadget:eg=EventGadget()
   Select eg
     ;Case 1:g1=GetGadgetState(1)
    Case 2
     g1=Random(CountGadgetItems(1)-1)
     SetGadgetState(1,g1)
     While WindowEvent():Wend
     Delay(2222)
     RemoveGadgetItem(1,g1):n+1
     SetGadgetText(3,""+n+" / "+GetGadgetState(1))
   EndSelect
  Case #PB_Event_CloseWindow:Break
EndSelect:ForEver
End
my pb for chinese:
http://ataorj.ys168.com
User avatar
gurj
Enthusiast
Enthusiast
Posts: 664
Joined: Thu Jan 22, 2009 3:48 am
Location: china
Contact:

Re: ComboboxG's 'BUG', when use #PB_ComboBox_Editable

Post by gurj »

However, it does not seem to be a bug. So if we want to keep the text, we should do this:

Code: Select all

OpenWindow(0, 100, 90, 215, 140, "FindBug", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
LoadFont(0,"system", 12):SetGadgetFont(#PB_Default, FontID(0))
g=ComboBoxGadget(1, 5, 5, 205, 25,#PB_ComboBox_Editable)
TextGadget(3, 5, 35, 100, 25, "State")
SetGadgetColor(3,#PB_Gadget_FrontColor,#Red)
ButtonGadget(2, 5, 65, 100, 25, "test")

For a=0 To 29
 AddGadgetItem(1,a,Str(a))
Next
SetGadgetText(1,"-1")
Repeat:ev=WaitWindowEvent():Select ev
  Case #PB_Event_Gadget:eg=EventGadget()
   Select eg
    Case 2
     g1=Random(CountGadgetItems(1)-1)
     SetGadgetState(1,g1)
     While WindowEvent():Wend
     Delay(2222)
     s.s=GetGadgetText(1);*****
     RemoveGadgetItem(1,g1)
     SetGadgetText(1,s);*****
     n+1
     SetGadgetText(3,""+n+" / "+GetGadgetState(1))
   EndSelect
  Case #PB_Event_CloseWindow:Break
EndSelect:ForEver
End
my pb for chinese:
http://ataorj.ys168.com
Post Reply