Bugs und vermeintliche | | | | Jörg Sellmeyer | Hallo,
Man kann ja ein Treeview wunderbar mit der tastatur steuern. Leider kommt das aber nicht im Programm an. Die Tastaturnavigation funktioniert zwar aber WaitInput wird nicht durchbrochen. Sehr leicht am Beispiel in der Hilfe nachzuvollziehen. Ich hab nur das "Print %key,%message" eingefügt. Treeview mit Maus aktivieren: Werte werden angezeigt Weiter mit Tastatur: es passiert nur noch was im Treeview
CLS
var hToolBmp& = create("hPic", 0, "TOOLBAR")
var hIL& = Create("ImageList", 16, 16, hToolBmp&, rgb(192, 192, 192))
var hTV& = Create("TreeView",%hwnd,hIL&,420,40,200,(height(%HWnd)-70))
DeleteObject hToolBmp&' wird nicht mehr benötigt
print "Profan-Kringel: ";ImageList("AddIcon", hIL&, create("hIcon", "A"));""
print "Klassen: ";classof(hTV&);tab(24);classof(hIL&)
print "Handles: ";hTV&;tab(24);hIL&
var HeaderEbene& = TreeView("InsertItem",hTV&, 0,0,"Includes/Header")
var ProcEbene& = TreeView("InsertItem",hTV&, 0,1,"Prozeduren")
var StrukturEbene& = TreeView("InsertItem",hTV&, 0,2,"Strukturen/Klassen")
var KommentarEbene& = TreeView("InsertItem",hTV&, 0,3,"Kommentare/Faltungen")
TreeView("InsertItem",hTV&, HeaderEbene&,4,"Text 1")
TreeView("InsertItem",hTV&, ProcEbene&,5,"Text 2")
TreeView("InsertItem",hTV&, StrukturEbene&,6,"Text 3")
TreeView("InsertItem",hTV&, KommentarEbene&,7,"Text 4")
TreeView("InsertItem",hTV&, KommentarEbene&,52,"Text 5")
var T6& = TreeView("InsertItem",hTV&, KommentarEbene&,9,"Text 6")
TreeView("InsertItem",hTV&, T6&,10,"Text 7")
TreeView("SetItemImage",hTV&, KommentarEbene&,10)
TreeView("SetChildren",hTV&, Procebene&,1)
TreeView("SetChildren",hTV&, HeaderEbene&,1)
TreeView("SetChildren",hTV&, StrukturEbene&,1)
TreeView("SetChildren",hTV&, KommentarEbene&,1)
TreeView("SetChildren",hTV&, T6&,1)
TreeView("Expand",hTV&, ProcEbene&, 2)
SetText hTV&, HeaderEbene&,"Includes/Header (2)"
SetText hTV&, ProcEbene&,"Prozeduren (3)"
SetText hTV&, StrukturEbene&,"Strukturen/Klassen (4)"
SetText hTV&, KommentarEbene&,"Kommentare/Faltungen (99)"
TreeView("Select",hTV&, T6&)
print "Anzahl: ";GetCount(hTV&);tab(24);getCount(hIL&)
DrawIcon hIL&, 10, 420, 15
var ende% = 0
var item& = 0
usermessages Ord("p")
whilenot ende%
waitinput
Print %key,%message
if %key = 27
ende% = 1
elseif clicked(hTV&)
item& = TreeView("GetSelected", hTV&)
print GetText$(hTV&, item&);".";GetText$(hTV&, TreeView("GetParent", hTV&, item&))
endif
endwhile
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 29.11.2011 ▲ |
| |
| | RGH | Solange du nur im Control navigierst, passiert nichts. Aber siobald Du mit ENTER einen Eintrag auswählst wird Waitinput verlassen und %message hat einen Wert 295, so dass Du im Programm darauf reagieren kannst.
Gruß Roland |
| | | XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 14.01.2012 ▲ |
| |
| | Jörg Sellmeyer | Das finde ich aber untypisch für so ein Treeview. In allen Programmen, die ich bisher getestet habe, passiert schon was, wenn ich mit den Pfeiltasten navigiere. Simpelstes Beispiel: der Explorer. Auch z. B. Irfanview ist so zu steuern. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.01.2012 ▲ |
| |
| | RGH | Kannst es ja auf Deine Wunschliste für X3 setzen. Dann kann ich ja mal schauen, was da möglich ist ...
Gruß Roland |
| | | XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 14.01.2012 ▲ |
| |
| | Jörg Sellmeyer | Dann setz ich es hiermit auf meine Wunschliste. Du könntest Dir diesen Thread doch einfach auf Deine XProfan.com Merkliste setzen und die dann abarbeiten. Oder gibt's schon irgendwo eine allgemeine Wunschliste? |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.01.2012 ▲ |
| |
| | RGH | Noch nicht. Es ist ja auch noch eine Weile hin. Zuerst muss ich den aktuellen Bugfix auf X2.0c in einen Patch einbauen und auf meine Homepage hochladen, dann eine aktuelle Installations-CD mit X2.0c an JDS schicken und schließlich im nächsten Urlaub Zeit finden, um mich dem Thema XProfan X2 mit FreePascal 32Bit und 64Bit zu befassen.
Gruß Roland |
| | | XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 24.01.2012 ▲ |
| |
| | | Musst Du nicht! |
| | | | |
| | Jörg Sellmeyer | Hier hab ich zumindest rausbekommen, wie man die Werte auch bei Tastaturnavigation erhält:
Einfach nach dem Ansteuern eines Elementes Enter drücken und schon funktioniert es... So einfach kann Programmieren sein
CLS
var hToolBmp& = create("hPic", 0, "TOOLBAR")
var hIL& = Create("ImageList", 16, 16, hToolBmp&, rgb(192, 192, 192))
var hTV& = Create("TreeView",%hwnd,hIL&,420,40,200,(height(%HWnd)-70))
DeleteObject hToolBmp&' wird nicht mehr benötigt
print "Profan-Kringel: ";ImageList("AddIcon", hIL&, create("hIcon", "A"));""
print "Klassen: ";classof(hTV&);tab(24);classof(hIL&)
print "Handles: ";hTV&;tab(24);hIL&
var HeaderEbene& = TreeView("InsertItem",hTV&, 0,0,"Includes/Header")
var ProcEbene& = TreeView("InsertItem",hTV&, 0,1,"Prozeduren")
var StrukturEbene& = TreeView("InsertItem",hTV&, 0,2,"Strukturen/Klassen")
var KommentarEbene& = TreeView("InsertItem",hTV&, 0,3,"Kommentare/Faltungen")
TreeView("InsertItem",hTV&, HeaderEbene&,4,"Text 1")
TreeView("InsertItem",hTV&, ProcEbene&,5,"Text 2")
TreeView("InsertItem",hTV&, StrukturEbene&,6,"Text 3")
TreeView("InsertItem",hTV&, KommentarEbene&,7,"Text 4")
TreeView("InsertItem",hTV&, KommentarEbene&,52,"Text 5")
var T6& = TreeView("InsertItem",hTV&, KommentarEbene&,9,"Text 6")
TreeView("InsertItem",hTV&, T6&,10,"Text 7")
TreeView("SetItemImage",hTV&, KommentarEbene&,10)
TreeView("SetChildren",hTV&, Procebene&,1)
TreeView("SetChildren",hTV&, HeaderEbene&,1)
TreeView("SetChildren",hTV&, StrukturEbene&,1)
TreeView("SetChildren",hTV&, KommentarEbene&,1)
TreeView("SetChildren",hTV&, T6&,1)
TreeView("Expand",hTV&, ProcEbene&, 2)
SetText hTV&, HeaderEbene&,"Includes/Header (2)"
SetText hTV&, ProcEbene&,"Prozeduren (3)"
SetText hTV&, StrukturEbene&,"Strukturen/Klassen (4)"
SetText hTV&, KommentarEbene&,"Kommentare/Faltungen (99)"
TreeView("Select",hTV&, T6&)
print "Anzahl: ";GetCount(hTV&);tab(24);getCount(hIL&)
DrawIcon hIL&, 10, 420, 15
var ende% = 0
var item& = 0
usermessages Ord("p")
whilenot ende%
waitinput
item& = TreeView("GetSelected", hTV&)
print GetText$(hTV&, item&);".";GetText$(hTV&, TreeView("GetParent", hTV&, item&)),item&
if %key = 27
ende% = 1
endif
endwhile
Ich setz das mal auf erledigt. |
| | | | |
|
AntwortenThemenoptionen | 8.733 Betrachtungen |
ThemeninformationenDieses Thema hat 3 Teilnehmer: |