GadgetId eines Parents ermitteln
Verfasst: 01.02.2020 22:45
Guten Abend, ....
Ich sitze an folgendem Problem:
Ich habe eine ScrollArea als Parent und platziere in dieser verschiedene Gadgets, wie Text, String oder andere.
Ich möchte nun im Zuge eines Events (leftbutton) beim Anklicken zum Beispiel des TextGadgets die Id der ScrollArea erhalten um mit dieser weitere Aktionen durchzuführen.
Gefunden habe ich nur die API
(Linux wäre zunächst am wichtigsten)
Da habe ich gleich zwei Probleme:
Der Handle, den ich erhalte ich NICHT der Handle der ScrollArea ( ????? ). Keine Ahnung, wohin dieser gehört. Evtl. besteht das angeklickte StringGadget aus einem eigenen Parent dessen Handle ich dann erhalte. Weiß jemand dazu etwas mehr?
Zum zweiten frage ich mich, wenn ich nun den Handle habe, wie erhalte ich aus diesem die in Pb zugewiesene Id, um damit irgendetwas weiteres zu tun ?
Für Ideen wäre ich sehr dankbar.
Ich sitze an folgendem Problem:
Ich habe eine ScrollArea als Parent und platziere in dieser verschiedene Gadgets, wie Text, String oder andere.
Ich möchte nun im Zuge eines Events (leftbutton) beim Anklicken zum Beispiel des TextGadgets die Id der ScrollArea erhalten um mit dieser weitere Aktionen durchzuführen.
Gefunden habe ich nur die API
Code: Alles auswählen
Procedure GetParent(ChildID) ;Returns ParentID from ChildID (Default)
If ChildID <>-1
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
ProcedureReturn GetParent_(ChildID)
CompilerElseIf #PB_Compiler_OS = #PB_OS_Linux
ProcedureReturn gtk_widget_get_parent_(ChildID)
CompilerEndIf
EndIf
ProcedureReturn -1
EndProcedure
ParentID=GetParent(GadgetID(EventGadget()))Da habe ich gleich zwei Probleme:
Der Handle, den ich erhalte ich NICHT der Handle der ScrollArea ( ????? ). Keine Ahnung, wohin dieser gehört. Evtl. besteht das angeklickte StringGadget aus einem eigenen Parent dessen Handle ich dann erhalte. Weiß jemand dazu etwas mehr?
Zum zweiten frage ich mich, wenn ich nun den Handle habe, wie erhalte ich aus diesem die in Pb zugewiesene Id, um damit irgendetwas weiteres zu tun ?
Für Ideen wäre ich sehr dankbar.