Español
Foro

GridBox-Zeilen de-selektieren

 

Pk
¡Hola,

con un Mausklick puede ser sí en uno GridBox una Línea selektieren. Kann uno esta Auswahl auch otra vez rückgängig hacer - Así que el GridBox selektionsfrei hacer? Yo habe hier X3.1.

Grüße, Peter
 
02.03.2017  
 




H.Brill
Tal vez algo como :
Título de la ventana "Gridbox"
Ventana de Estilo 31+512
Ventana 0,0-800,600
Declarar Handle Grid, BtnEnde, btnState
Declarar Int zeile
Var Int Ende = 0
Grid     = Crear("GridBox", %hwnd, "Nr.;0;40;Eintrag;0;135;DATUM;0;135", 2, 100, 70, 410, 370)
BtnEnde  = Crear("Button",%hwnd,"ENDE",500,500,190,25)
btnState = Crear("Button",%hwnd,"Deselektieren", 520,100,120,25)

WhileLoop 1, 50

    Addstring(Grid, Str$(&LOOP) + "|" + "EINTRAG" + "|" + Date$(0))

EndWhile

Sinestar encargado Ende

    WaitInput

    If Clicked(BtnEnde)

        Let Ende = 1

    Endif

    If Clicked(btnstate)

        SendMessage(Grid, 4139, 1, 0)' Línea(n) entmarkieren

    EndIf

Endwhile

FIN
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
02.03.2017  
 




Pk
Nee, el Auswahl wechselt zwar de blau después de grau, aber el Selektion(en) restos.
Mit "GetSelCount(N)" lässt se el testen.

Grüße, Peter
 
02.03.2017  
 




Georg
Teles
Bueno Abend,

füge veces Folgendes hinzu
 $H commctrl.ph

Proc LvDeSelect'deselectieren

    Parámetros Lv&,Item&
    Declarar s#
    Dim s#,1024
    Largo s#,12=0
    Largo s#,16=~LVIS_SELECTED | ~LVIS_FOCUSED
    SendMessage(Lv&,~LVM_SETITEMSTATE,Item&,s#)
    Disponer s#

ENDPROC


y rufe esta Proc beim entmarkieren en
 $H commctrl.ph

Proc LvDeSelect'deselectieren

    Parámetros Lv&,Item&
    Declarar s#
    Dim s#,1024
    Largo s#,12=0
    Largo s#,16=~LVIS_SELECTED | ~LVIS_FOCUSED
    SendMessage(Lv&,~LVM_SETITEMSTATE,Item&,s#)
    Disponer s#

ENDPROC

Título de la ventana "Gridbox"
Ventana de Estilo 31+512
Ventana 0,0-800,600
Declarar Handle Grid, BtnEnde, btnState
Declarar Int zeile
Var Int Ende = 0
Grid     = Crear("GridBox", %hwnd, "Nr.;0;40;Eintrag;0;135;DATUM;0;135", 2, 100, 70, 410, 370)
BtnEnde  = Crear("Button",%hwnd,"ENDE",500,500,190,25)
btnState = Crear("Button",%hwnd,"Deselektieren", 520,100,120,25)

WhileLoop 1, 50

    Addstring(Grid, Str$(&LOOP) + "|" + "EINTRAG" + "|" + Date$(0))

EndWhile

Sinestar encargado Ende

    WaitInput

    If Clicked(BtnEnde)

        Let Ende = 1

    Endif

    If Clicked(btnstate)

        'SendMessage(Grid, 4139, 1, 0)' Línea(n) entmarkieren
        LvDeSelect Grid,GetCurSel(Grid)' markierte Línea(n) entmarkieren

    EndIf

Endwhile

FIN

Servus
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

06.03.2017  
 




Pk
¡Hola,

Yo durchschaue deine Proc ahora no, aber ellos funktioniert. Das lo así aufwendig ser muss, Yo eigentlich no esperado. En uno Auswahl en el Gridbox reicht una Clic. En mehrfach Auswahl se zuerst el letzte gemachte deselektiert y una más Clic el restlichen.
Tuve me sólo una vez con un hin y her kopieren geholfen, pero en uno bastante langen GridListe dauert el ya una Weile, así es jedenfalls viel-viel más rápido.

Dank a euch beide y
Grüße, Peter
 
07.03.2017  
 




Georg
Teles
Sí como hast Usted Recht, el Proc deaktiviert sólo una Línea, el zuletzt markierte.

Um Alle Zeilen abzufragen kannst Usted Por ejemplo mittels uno Bucle Folgendes versuchen
If Clicked(btnstate)

    'SendMessage(Grid, 4139, 1, 0)' Línea(n) entmarkieren

    WhileLoop 0,GetCount(Grid)-1'zähle de 0 a Anzahl Einträge minus 1, como el erste Position = 0 es

        caso GetState(Grid,&bucle)>=1:LvDeSelect Grid,&bucle'sobald el durchlaufende Línea markiert oder aktiv es, se ellos demarkiert voluntad

    EndWhile

EndIf


Wenn deine Liste algo länger es, mostrar si el Bucle a viel Tiempo kostet. Espero con solange en mi Archiv si Yo como qué Brauchbares sin Bucle finde.

Servus
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.03.2017  
 




R.Schneider
Georg Teles (06.03.2017)
SendMessage(Lv&,~LVM_SETITEMSTATE,Item&,s#)


Ersetze veces "Item&" por "-1", entonces debería lo para todos Einträge en una vez trabajo.

Saludo
Rudger
 
Perbody is nofect !
12.03.2017  
 




Pk
¡Hola zusammen,

Yo durchschaue el Proc sí no y el sustituir des "Item&" con -1 natürlich auch no, aber ahora funktioniert lo perfekt!
Vielen Dank y Grüße, Peter
 
15.03.2017  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

9.323 Views

Untitledvor 0 min.
H.Brill30.09.2022
Tango30.10.2021
Thomas Zielinski29.10.2021
RudiB.09.09.2021
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie