Español
Foro

Listbox - Alle Einträge marca

 
- Página 1 -



Julian
Schmidt
Woran scheitert hier el marca y abwählen aller Einträge en el Mehrfachauswahl-Listbox?
KompilierenMarcaSeparación
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  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »


Jörg
Sellmeyer
Usted hast el falsche Message verwendet y Usted puede lo einfacher hacer:
KompilierenMarcaSeparación
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 me está, por qué Usted hier
KompilierenMarcaSeparación
whileloop GetCurSel(listbox&)+1

GetCursel verwendest. Usted willst doch todos (ent-)marca. Also müßtest Usted entonces ya GetCount nehmen. Aber -1 es mejor.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.04.2011  
 



Mit el Variables kannst du auch wohl siempre todavía no umgehen, obwohl du en deinem letzten Hilo ya wiederholt darauf hingewiesen wurdest.
KompilierenMarcaSeparación
text$[1]=0
text$[2]=1
text$[3]=2
ist falsch
text$[1]="0"
text$[2]="1"
text$[3]="2"
ist rich
>

hier greift wohl el automatische Typenwandlung, aber el kann auch veces schiefgehen.
0 = una Nummer, "0" es una String y du willst sí texto$[]
 
28.04.2011  
 




Julian
Schmidt
Hab mein Minibeispiel veces algo erweitert.
KompilierenMarcaSeparación
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  
 



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

6.653 Views

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