Aktuelle Zeit: 14.11.2019 09:05

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Im ListIconGadget die erste Zeile markieren
BeitragVerfasst: 20.04.2019 09:41 
Offline
Benutzeravatar

Registriert: 08.10.2006 18:04
Wohnort: Wien
Hallo !
Ich habe eine Möglichkeit gesucht beim Start die erste Zeile eines ListIconGadget unter
Linux zu markieren. In diesem Beispiel wird ein Tastendruck auf die Pfeil nach Rechts Taste
simuliert. Ich nehme an es gibt eine elegantere Lösung ?!

Code:
ImportC ""
  XOpenDisplay(*display)
  XFlush(display)
EndImport

ImportC "/usr/lib/x86_64-linux-gnu/libXtst.so.6"
  XTestFakeKeyEvent(display, keycode, is_press, delay)
EndImport

Procedure SendKey()
  Protected *display = XOpenDisplay(0)
  XTestFakeKeyEvent(*display, 114, #True, 0) ; 114 = Pfeil nach rechts
  XTestFakeKeyEvent(*display, 114, #False, 0)
  XFlush(*display)
EndProcedure

Procedure OpenWindow_0(x = 0, y = 0, width = 1000, height = 600)
    OpenWindow(#PB_Any, x, y, width, height, "ListIcon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ListIconGadget(0, 0, 0, 1750, 950, "ID", 80, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
    AddGadgetColumn(0, 1, "Datum", 150)
    AddGadgetColumn(0, 2, "Uhrzeit", 150)
    AddGadgetColumn(0, 3, "Temperatur °C", 200)
    AddGadgetColumn(0, 4, "Luftfeuchte %", 200)
    AddGadgetColumn(0, 5, "Luftdruck hPa", 200)
    AddGadgetItem(0, -1, "1" +Chr(10)+"14.06.2018"+Chr(10)+"23:15:46"+Chr(10)+"16.2"+Chr(10)+"68"+Chr(10)+"1024")
    AddGadgetItem(0, -1, "2" +Chr(10)+"14.06.2018"+Chr(10)+"23:17:22"+Chr(10)+"16.5"+Chr(10)+"68"+Chr(10)+"1024")
    SetActiveGadget(0)
    SendKey()
EndProcedure

OpenWindow_0()
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

_________________
PB 5.70 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.1
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Im ListIconGadget die erste Zeile markieren
BeitragVerfasst: 20.04.2019 09:59 
Offline
Benutzeravatar

Registriert: 11.08.2005 19:08
Da hast du dir zu viel Aufwand gemacht. Das reicht aus:
Code:
SetGadgetState(0, 0) ; Markiert die erste Zeile


Bei mir reicht aber schon der Aufruf von SetActiveGadget(0), damit die erste Zeile markiert ist (gtk3/gtk2), außer mit Qt.

_________________
Bild
Warum OpenSource eine Lizenz haben sollte
PureBasic-CodeArchiv-Rebirth: Git-Repository / Download -- Jede Hilfe ist willkommen!
Manjaro Xfce x64 (Hauptsystem) :: WindowsXP/Xubuntu x86 (VirtualBox) :: PureBasic (Linux: x86/x64, Windows: x86) :: jeweils neueste Version


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Im ListIconGadget die erste Zeile markieren
BeitragVerfasst: 20.04.2019 10:20 
Offline
Benutzeravatar

Registriert: 08.10.2006 18:04
Wohnort: Wien
Danke für den Tipp !
Hab den Fehler in meiner Anwendung gefunden !
Nach dem Schreiben ins ListIconGadget muss SetGadgetState aufgerufen werden !
So funktioniert es nicht ...
Code:
Procedure OpenWindow_0(x = 0, y = 0, width = 1000, height = 600)
    OpenWindow(#PB_Any, x, y, width, height, "ListIcon", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ListIconGadget(0, 0, 0, 1750, 950, "ID", 80, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
    AddGadgetColumn(0, 1, "Datum", 150)
    AddGadgetColumn(0, 2, "Uhrzeit", 150)
    AddGadgetColumn(0, 3, "Temperatur °C", 200)
    AddGadgetColumn(0, 4, "Luftfeuchte %", 200)
    AddGadgetColumn(0, 5, "Luftdruck hPa", 200)
    SetActiveGadget(0)
    SetGadgetState(0,0)
EndProcedure

OpenWindow_0()
AddGadgetItem(0, -1, "1" +Chr(10)+"14.06.2018"+Chr(10)+"23:15:46"+Chr(10)+"16.2"+Chr(10)+"68"+Chr(10)+"1024")
AddGadgetItem(0, -1, "2" +Chr(10)+"14.06.2018"+Chr(10)+"23:17:22"+Chr(10)+"16.5"+Chr(10)+"68"+Chr(10)+"1024")
;SetGadgetState(0,0)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

_________________
PB 5.70 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.1
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye