Italia
Bugs und vermeintliche

Treeview Tastaturnavigation

 

Jörg
Sellmeyer
Ciao,

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 Aiuto 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 necessario
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/Testata (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.

Saluto
Roland
 
XProfan X2
Intel 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 per 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 per X3 setzen. Dann kann ich ja mal schauen, was da possibile ist ...

Saluto
Roland
 
XProfan X2
Intel 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 Io l' 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.

Saluto
Roland
 
XProfan X2
Intel 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!
 
24.01.2012  
 




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 necessario
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/Testata (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.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
18.11.2015  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.702 Views

Untitledvor 0 min.
Georg Teles26.04.2023
Sven Bader13.03.2023
RudiB.07.04.2022
Heiko Dix04.10.2021
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

Jörg Sellmeyer (4x)
RGH (3x)
iF (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie