Français
Forum

GridBox-Zeilen de-selektieren

 

Pk
Salut,

avec einem Mausklick peux on oui dans einer GridBox une la ligne selektieren. peux on cet sélection aussi wieder rückgängig faire - alors qui GridBox selektionsfrei faire? j'ai ici X3.1.

Grüße, Peter
 
02.03.2017  
 




H.Brill
peut-être quelque chose comme :
Titre de la fenêtre "Gridbox"
Fenêtre Style 31+512
Fenêtre 0,0-800,600
Déclarer Handle Grid, BtnEnde, btnState
Déclarer Int la ligne
Var Int Ende = 0
Grid     = Créer("GridBox", %hwnd, "Nr.;0;40;Eintrag;0;135;DATUM;0;135", 2, 100, 70, 410, 370)
BtnEnde  = Créer("Button",%hwnd,"ENDE",500,500,190,25)
btnState = Créer("Button",%hwnd,"Deselektieren", 520,100,120,25)

WhileLoop 1, 50

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

Endwhile

WhileNot Ende

    WaitInput

    Si Clicked(BtnEnde)

        Laisser Ende = 1

    Endif

    Si Clicked(btnstate)

        SendMessage(Grid, 4139, 1, 0)' la ligne(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, qui sélection wechselt zwar de bleu pour gris, mais qui Selektion(en) bleibt.
avec "GetSelCount(N)" peut sich cela testen.

Grüße, Peter
 
02.03.2017  
 




Georg
Teles
Guten soir,

füge la fois Folgendes hinzu
 $H commctrl.ph

Proc LvDeSelect'deselectieren

    Paramètres Lv&,Item&
    Déclarer s#
    Faible s#,1024
    Long s#,12=0
    Long s#,16=~LVIS_SELECTED | ~LVIS_FOCUSED
    SendMessage(Lv&,~LVM_SETITEMSTATE,Item&,s#)
    Dispose s#

ENDPROC


et appelle cet Proc beim entmarkieren sur
 $H commctrl.ph

Proc LvDeSelect'deselectieren

    Paramètres Lv&,Item&
    Déclarer s#
    Faible s#,1024
    Long s#,12=0
    Long s#,16=~LVIS_SELECTED | ~LVIS_FOCUSED
    SendMessage(Lv&,~LVM_SETITEMSTATE,Item&,s#)
    Dispose s#

ENDPROC

Titre de la fenêtre "Gridbox"
Fenêtre Style 31+512
Fenêtre 0,0-800,600
Déclarer Handle Grid, BtnEnde, btnState
Déclarer Int la ligne
Var Int Ende = 0
Grid     = Créer("GridBox", %hwnd, "Nr.;0;40;Eintrag;0;135;DATUM;0;135", 2, 100, 70, 410, 370)
BtnEnde  = Créer("Button",%hwnd,"ENDE",500,500,190,25)
btnState = Créer("Button",%hwnd,"Deselektieren", 520,100,120,25)

WhileLoop 1, 50

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

Endwhile

WhileNot Ende

    WaitInput

    Si Clicked(BtnEnde)

        Laisser Ende = 1

    Endif

    Si Clicked(btnstate)

        'SendMessage(Grid, 4139, 1, 0)' la ligne(n) entmarkieren
        LvDeSelect Grid,GetCurSel(Grid)' markierte la ligne(n) entmarkieren

    EndIf

Endwhile

FIN

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

06.03.2017  
 




Pk
Salut,

je durchschaue deine Proc maintenant pas, mais vous funktioniert. cela es so aufwendig son muss, habe je eigentlich pas erwartet. chez einer sélection dans qui Gridbox reicht un Klick. chez mehrfach sélection wird d'abord qui dernier gemachte deselektiert et einem weiteren Klick qui restlichen.
je hatte mir seulement einmal avec einem hin et her kopieren geholfen, mais chez einer droite langen GridListe dauert cela déjà une Weile, so ist es jedenfalls viel-viel plus rapide.

Dank à euch beide et
Grüße, Peter
 
07.03.2017  
 




Georg
Teles
oui là la hâte Du droite, qui Proc deaktiviert seulement une la ligne, qui zuletzt markierte.

Um Alle Zeilen abzufragen peux Du Beispielsweise mittels einer Boucle Folgendes versuchen
Si Clicked(btnstate)

    'SendMessage(Grid, 4139, 1, 0)' la ligne(n) entmarkieren

    WhileLoop 0,GetCount(Grid)-1'zähle de 0 jusqu'à Anzahl Einträge minus 1, là la première Position = 0 ist

        cas GetState(Grid,&loop)>=1:LvDeSelect Grid,&loop'sobald qui durchlaufende la ligne markiert ou bien aktiv ist, soll vous demarkiert volonté

    Endwhile

EndIf


si deine liste quelque chose länger ist, exposition si qui Boucle trop viel Zeit kostet. je exposition solange dans mon Archiv si je là quoi Brauchbares sans Boucle finde.

salut
 
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 la fois "Item&" par "-1", ensuite sollte es pour alle Einträge sur einmal marcher.

Salut
Rudger
 
Perbody is nofect !
12.03.2017  
 




Pk
allô zusammen,

je durchschaue qui Proc oui pas et dem ersetzen des "Item&" avec -1 naturellement aussi pas, mais maintenant funktioniert es parfait!
Vielen Dank et Grüße, Peter
 
15.03.2017  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

9.256 Views

Untitledvor 0 min.
H.Brill30.09.2022
Tango30.10.2021
Thomas Zielinski29.10.2021
RudiB.09.09.2021
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie