| |
|
|
- Página 1 - |
|
Julian Schmidt | Woran scheitert hier el marca y abwählen aller Einträge en el Mehrfachauswahl-Listbox? KompilierenMarcaSeparacióndeclare 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 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óntext$[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$[] |
|
|
| |
|
|
|
Julian Schmidt | Hab mein Minibeispiel veces algo erweitert. KompilierenMarcaSeparacióndeclare 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 ▲ |
|
|
|