Français
Forum

Listbox - Alle Einträge markieren

 
- page 1 -



Julian
Schmidt
Woran scheitert ici cela markieren et abwählen aller Einträge dans qui Mehrfachauswahl-Listbox?
KompilierenMarqueSéparation
declare choosedialog&,listbox&,aktiontuen&,markall&,delmark&,text$[]
var StringCount%=3
text$[1]=0
text$[2]=1
text$[3]=2
windowstyle 24
choosedialog&=Create("Window",%hwnd,"Auswahl-Dialog",%MaxX\2,%MaxY\3,500,400)
listbox&=Create("ListBox", choosedialog&, 2, 20, 20, 250, Height(choosedialog&)-40)
Create("Text",choosedialog&,"Bitte wählen Sie Einträge, auf dennen eine Aktion ausführt werden soll aus.",290,30,190,60)

whileloop StringCount%

    AddString(listbox&,text$[&loop])

Endwhile

MoveListToHandle(listbox&)
aktiontuen&=@Create("Button",choosedialog&,"Aktion ausführen",290,Height(choosedialog&)-80,185,60)
markall&=@Create("Button",choosedialog&,"Alle Markieren",290,110,185,40)
delmark&=@Create("Button",choosedialog&,"Markierungen aufheben",290,160,185,40)

while 1

    waitinput

    if getfocus(markall&)

        whileloop GetCurSel(listbox&)+1

            Sendmessage(listbox&,$0186,&loop-1,0)
            Setfocus(listbox&)

        Endwhile

    elseif getfocus(delmark&)

        whileloop GetCurSel(listbox&)+1

            Sendmessage(listbox&,$0186,&loop-1,1)
            Setfocus(listbox&)

        Endwhile

    elseif getfocus(aktiontuen&)

        whileloop GetCurSel(listbox&)+1

            case GetState(listbox&, &loop-1)>0 : Messagebox(text$[&loop],"Info",0)

        Endwhile

        end

    elseif %key=2

        end

    Endif

Endwhile

 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
28.04.2011  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »


Jörg
Sellmeyer
tu as qui falsche Message verwendet et tu peux es einfacher faire:
KompilierenMarqueSéparation
if getfocus(markall&)

    Sendmessage(listbox&,$0185,1,-1)'lb_SetSel statt lb_SetCurSel
    'außerdem hast Du die letzten Parameter vertauscht. Der vorletzte bestimmt, ob markiert wird. Der letzte bestimmt den Eintrag. -1 steht für alle Einträge

elseif getfocus(delmark&)

    Sendmessage(listbox&,$0185,0,-1)

elseif getfocus(aktiontuen&pan>


Unklar c'est moi, pourquoi Du ici
KompilierenMarqueSéparation
whileloop GetCurSel(listbox&)+1

GetCursel verwendest. tu veux doch alle (ent-)markieren. alors müßtest Du ensuite déjà GetCount prendre. mais -1 ist besser.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.04.2011  
 



avec den Variablen peux du aussi wohl toujours pas tourner autour de, quoique du dans deinem letzten Fil déjà wiederholt puis hingewiesen wurdest.
KompilierenMarqueSéparation
text$[1]=0
text$[2]=1
text$[3]=2
ist falsch
text$[1]="0"
text$[2]="1"
text$[3]="2"
ist rich
>

ici greift wohl qui automatische Typenwandlung, mais cela peux aussi la fois schiefgehen.
0 = une numéro, "0" est un String et tu veux oui text$[]
 
28.04.2011  
 




Julian
Schmidt
Hab mon Minibeispiel la fois quelque chose erweitert.
KompilierenMarqueSéparation
declare choosedialog&,listbox&,aktiontuen&,markall&,delmark&,text$[]
var StringCount%=5
text$[1]="eins"
text$[2]="zwei"
text$[3]="drei"
text$[4]="vier"
text$[5]="fünf"
windowstyle 24
choosedialog&=Create("Window",%hwnd,"Auswahl-Dialog",%MaxX\2,%MaxY\3,500,400)
listbox&=Create("ListBox", choosedialog&, 2, 20, 20, 250, Height(choosedialog&)-40)
Create("Text",choosedialog&,"Bitte wählen Sie Einträge, auf dennen eine Aktion ausführt werden soll aus.",290,30,190,60)

whileloop StringCount%

    AddString(listbox&,text$[&loop])

Endwhile

MoveListToHandle(listbox&)
aktiontuen&=@Create("Button",choosedialog&,"Aktion ausführen",290,Height(choosedialog&)-80,185,60)
markall&=@Create("Button",choosedialog&,"Alle Markieren",290,110,185,40)
delmark&=@Create("Button",choosedialog&,"Markierungen aufheben",290,160,185,40)
var ukmark&=@Create("Button",choosedialog&,"Markierungen umkehren",290,210,185,40)

while 1

    waitinput

    if getfocus(markall&)

        Sendmessage(listbox&,$0185,1,-1)

    elseif getfocus(delmark&)

        Sendmessage(listbox&,$0185,0,-1)

    elseif getfocus(ukmark&)

        whileloop GetCount(listbox&)

            if GetState(listbox&, &loop-1)>0

                Sendmessage(listbox&,$0185,0,&loop-1)

            else

                Sendmessage(listbox&,$0185,1,&loop-1)

            Endif

        Endwhile

        setfocus(choosedialog&)

    elseif getfocus(aktiontuen&)

        whileloop GetCount(listbox&)

            case GetState(listbox&, &loop-1)>0 : Messagebox(text$[&loop],"Info",0)

        Endwhile

        end

    elseif %key=2

        end

    Endif

ref='./../../funktionsreferenzen/XProfan/endwhile/'>Endwhile

 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
29.04.2011  
 



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

6.663 Views

Untitledvor 0 min.
Thomas Zielinski22.10.2020
RudiB.05.04.2020
Georg Teles06.02.2016
Torsten Rümker03.06.2015
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