Klick auf Spaltenkopf abfragen
Verfasst: 31.03.2006 13:10
Hi @all!
Wie kann man in dem angefügten Beispiel abfragen, welcher Spaltenkopf mit der Maus angeklickt wurde?
Wie kann man in dem angefügten Beispiel abfragen, welcher Spaltenkopf mit der Maus angeklickt wurde?
Code: Alles auswählen
Structure LibEntry
Nr.l
Name.s
Adr.l
EndStructure
Global Dim Lib.LibEntry(0)
Procedure LibraryEinlesen()
Titel$="Library auswählen"
Pattern$="Library|*.dll|Alle Dateien|*.*"
StandardDatei$="C:\Windows\System32\"
PatternPosition=0
ok=1
DateiPfad$ = OpenFileRequester(Titel$, StandardDatei$, Pattern$ , PatternPosition )
Datei$ = GetFilePart(DateiPfad$)
If Datei$
LibNr=OpenLibrary(#PB_Any, DateiPfad$)
LibraryID=LibraryID(LibNr)
If LibNr
If ExamineLibraryFunctions(LibNr)
AnzLibFunktionen = CountLibraryFunctions(LibNr)
ReDim Lib.LibEntry(AnzLibFunktionen)
If AnzLibFunktionen
count = 1
While NextLibraryFunction()
LibFunctionName.s = LibraryFunctionName()
LibFunctionAddr.l = LibraryFunctionAddress()
Lib(count)\Nr = count
Lib(count)\Name = LibFunctionName
Lib(count)\Adr = LibFunctionAddr
INC count
Wend
Lib(0)\Nr = AnzLibFunktionen
Lib(0)\Name = Datei$
Lib(0)\Adr = LibraryID
EndIf
Else
dummy = MessageRequester("Fehler", "Keine Eintäge vorhanden!")
ok=0
EndIf
CloseLibrary(LibNr)
Else
dummy = MessageRequester("Fehler", "Konnte Library nicht öffnen!")
ok=0
EndIf
Else
dummy = MessageRequester("Fehler", "Konnte Datei nicht öffnen!")
ok=0
EndIf
ProcedureReturn ok
EndProcedure
ok=LibraryEinlesen()
If ok
If OpenWindow(0, 100, 100, 480, 274, "Library-View", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ListIconGadget(0, 5, 5, 470, 248, "Nr.", 48, #PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
AddGadgetColumn(0, 1, "LibraryFunctionName", 336)
AddGadgetColumn(0 ,2 ,"LFAddress",80)
dummy = TextGadget(1, 5, 256, 330, 16, " LibName: " + Lib(0)\Name , #PB_Text_Border)
dummy = TextGadget(2, 344, 256, 130, 16, " Location: "+ Hex(Lib(0)\Adr) , #PB_Text_Border)
count=1
Repeat
entry$=Str(count) + Chr(#LF) + Lib(count)\Name + Chr(#LF) + Hex(Lib(count)\Adr)
AddGadgetItem(0, -1, entry$)
INC count
Until count = Lib(0)\Nr +1
Repeat
Event = WaitWindowEvent()
; Frage: wie kann ich hier abfragen, welcher
; Spaltenkopf angeklickt wurde?
Until Event = #PB_Event_CloseWindow
EndIf
EndIf
EndIf
End