wunderbar, genau das was ich gesucht habe.
ich habe mal ein fenster gebastelt, das zu jedem gadget den typ als tooltip anzeigt:
Code: Alles auswählen
Procedure$ GetGadgetType(Gadget.l)
Buffer$ = Space($FF)
GetClassName_(GadgetID(Gadget), @Buffer$, $FF)
ProcedureReturn Buffer$
EndProcedure
id = OpenWindow(-1, 0, 0, 675, 605, #PB_Window_SystemMenu, "")
If id
SetWindowTitle(id, GetGadgetType(id))
If CreateGadgetList(WindowID(id))
id = ButtonGadget(-1, 0, 0, 70, 20, "Button")
GadgetToolTip(id, GetGadgetType(id))
CreateImage(0, 70, 20)
StartDrawing(ImageOutput())
Locate(2,2)
DrawText("ImgButton")
StopDrawing()
id = ButtonImageGadget(-1, 0, 20, 70, 20, UseImage(0))
GadgetToolTip(id, GetGadgetType(id))
id = CalendarGadget(-1, 70, 0, 200, 170)
GadgetToolTip(id, GetGadgetType(id))
id = CheckBoxGadget(-1, 30, 50, 10, 10, "CheckBox")
GadgetToolTip(id, GetGadgetType(id))
id = ComboBoxGadget(-1, 0, 70, 70, 20)
AddGadgetItem(id, -1, "ComboBox")
GadgetToolTip(id, GetGadgetType(id))
id = ContainerGadget(-1, 270, 0, 100, 170, #PB_Container_Flat)
TextGadget(-1, 10, 75, 80, 20, "ContainerGadget")
CloseGadgetList()
GadgetToolTip(id, GetGadgetType(id))
id = DateGadget(-1, 370, 0, 100, 170)
GadgetToolTip(id, GetGadgetType(id))
id = ExplorerListGadget(-1, 470, 0, 100, 170, "")
GadgetToolTip(id, GetGadgetType(id))
id = ExplorerTreeGadget(-1, 570, 0, 100, 170, "")
GadgetToolTip(id, GetGadgetType(id))
id = HyperLinkGadget(-1, 0, 100, 70, 20, " LinkGadget", $0000FF)
GadgetToolTip(id, GetGadgetType(id))
id = ImageGadget(-1, 390, 300, 80, 300, 0, #PB_Image_Border)
TextGadget(-1, 400, 430, 65, 20, "ImageGadget")
GadgetToolTip(id, GetGadgetType(id))
id = IPAddressGadget(-1, 0, 120, 70, 20)
GadgetToolTip(id, GetGadgetType(id))
id = ListIconGadget(-1, 0, 170, 185, 100, "ListIconGadget", 180)
GadgetToolTip(id, GetGadgetType(id))
id = ListViewGadget(-1, 185, 170, 185, 100)
AddGadgetItem(id, -1, "ListViewGadget")
GadgetToolTip(id, GetGadgetType(id))
id = MDIGadget(-1, 0, 270, 370, 200, 0, 0)
GadgetToolTip(id, GetGadgetType(id))
id = OptionGadget(-1, 0, 145, 70, 20, "Option")
GadgetToolTip(id, GetGadgetType(id))
id = PanelGadget(-1, 0, 470, 370, 110)
AddGadgetItem(id, -1, "PanelGadget")
CloseGadgetList()
GadgetToolTip(id, GetGadgetType(id))
id = ProgressBarGadget(-1, 0, 580, 370, 20, 0, 100)
SetGadgetState(id, 77)
GadgetToolTip(id, GetGadgetType(id))
id = ScrollBarGadget(-1, 370, 170, 20, 430, 0, 100, 10, #PB_ScrollBar_Vertical)
GadgetToolTip(id, GetGadgetType(id))
id = SpinGadget(-1, 390, 170, 80, 20, 0, 0)
SetGadgetText(id, "SpinGadget")
GadgetToolTip(id, GetGadgetType(id))
id = SplitterGadget(-1, 390, 200, 80, 50, TextGadget(-1, 390, 170, 80, 20, " Splitter"), TextGadget(-1, 390, 200, 80, 20, " Gadget"), #PB_Splitter_Separator)
GadgetToolTip(id, GetGadgetType(id))
id = StringGadget(-1, 390, 260, 80, 40, "StringGadget")
GadgetToolTip(id, GetGadgetType(id))
id = TrackBarGadget(-1, 480, 170, 20, 430, 0, 100, #PB_TrackBar_Vertical)
SetGadgetState(id, 77)
GadgetToolTip(id, GetGadgetType(id))
id = TreeGadget(-1, 510, 170, 160, 430)
AddGadgetItem(id, -1, "TreeGadget")
GadgetToolTip(id, GetGadgetType(id))
While WaitWindowEvent() <> #PB_Event_CloseWindow
Wend
EndIf
EndIf
ich wünsche mir eine aufnahme von GetGadgetType() in PB. rückgabewert sollte z.b. #PB_GadgetType_ContainerGadget sein. wenn es noch möglich wäre zwischen verschiedenen gadgets wie z.b. ButtonGadget()/ButtonImageGadget()/CheckBoxGadget(), zu unterscheiden (sie sind alle vom typ "button") dann wäre es perfekt. Manche GadgetTypenNamen sind von PB festgelegt worden (zb PureContainer). vielleicht wäre hierrüber möglich dies zu realisieren.