Español
Fuente/ Codesnippets

Listbox Mehrfachauswahl

 
Bestimmt para Einsteiger interessant - hier fehlts todavía:
KompilierenMarcaSeparación
WINDOWSTYLE 31
WINDOWTITLE Listbox mit Mehrfachauswahl
WINDOW 0,0-640,440
Declare MLISTBOX&,OK&,ITEM#,Anzahl&,Dialog&,Auswahl&,Style&,Suche$,Zähler&,ITEM&
LET OK&=@CREATEBUTTON(%HWND,Select,20,360,100,30)
LET MLISTBOX&=@Control(ListBox,,$40000000+$10000000+$400000+$200000+2+8+$1000,20,20,300,300,%HWND,2112,%HINSTANCE)
CHDIR $WINPATH
LET SUCHE$=@FINDFIRST$(*.*)

While SUCHE$<>

    @AddString(MLISTBOX&,Suche$)
    LET SUCHE$=@FINDNEXT$()

WEND

while 0=0

    WAITINPUT

    IF @GETFOCUS(OK&)

        LET ANZAHL&=@sendmessage(MLISTBOX&,$0190,0,0) Anzahl ausgewählter Einträge ermitteln

        IF @gt(Anzahl&,32767)

            Let Anzahl&=32767
            @messagebox(Anzahl der gewählten Einträge zu hoch, es werden nicht alle ausgewählten Einträge angezeigt!,Hinweis,64)

        endif

        DIM ITEM#,@MUL((Anzahl&+1),4)
        @SENDMESSAGE(MLISTBOX&,$0191,Anzahl&,ITEM#) Auslesen der gwählten Einträge

        IF @gt(ANZAHL&,0)

            LET DIALOG&=@CREATEDIALOG(%HWND,Auswahl,10,10,300,300,)
            LET Auswahl&=@Control(Listbox,,$40000000+$10000000+$4000,20,20,200,200,Dialog&,2113,%HINSTANCE)
            LET ZÄHLER&=0

            Whilenot Zähler&>=Anzahl&

                LET ITEM&=@WORD(ITEM#,@MUL(Zähler&,4))
                @ADDSTRING(AUSWAHL&,@GetString$(MLISTBOX&,ITEM&))
                LET Zähler&=Zähler&+1

            WENd

            Whilenot %KEY=2

                waitinput

            wend

            @Destroywindow(DIALOG&)

        ENDIF

        DISPOSE ITeM#

    ENDIF

ref='./../../function-references/XProfan/wend/'>wend

 
09.09.2004  
 




KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Listbox mit Mehrfachauswahl
==================================================================
Beispiel einer Multiselect-Listbox ab Profan 5.5 32 Bit.
Die Messages für 16 Bit ändern.(Profan Referenz Listox Messages)
Mehrere Einträge in einer Listbox auswählen
------------------------------------------------------------------
(c)1997 Richard Maurukas
==================================================================
declare MultselDialog%,multisellist&,normalList&,ende%,i1%,ok%
declare Anzahl&,selitem&,Text$,Text%,Textlänge&
declare Text#
declare ID#
dim Text#,255         Der Selektierte Text der Listbox
dim ID#,300           Maximale Adresse für die Selektierung bei
Bedarf erweitern.
Dialogfenster------------------------------------------------------
Let MultselDialog%=createdialog(%Hwnd,Multiselect-Liste,
1997 Richard Maurukas,100,100,400,300)
let multisellist& =control(LISTBOX,,$50800048,  20,10,150,200,
MultselDialog%,100, %HInstance)
Let normalList&   =Createlistbox(MultselDialog%,,205,10,150,192)
let ok%=@createbutton(MultselDialog%,OK =>,20,220,80,20)
Etwas in die Multsellist schreiben-------------------------------
addstring(multisellist&,Richard)
addstring(multisellist&,Maurukas)
addstring(multisellist&,Multiselect-Liste)
addstring(multisellist&,Für Profan 32 bit)
addstring(multisellist&,Messages für 16 bit)
addstring(Multisellist&,lt. Referenz ändern!)
Auf Entscheidung des Anwenders warten----------------------------
Let i1%=0

whilenot ende%

    Waitinput
    sendmessage(normallist&,$0184,0,0)                    Normal-Liste vor dem Füllen löschen

    if getfocus(OK%)

        Let I1%=0
        let Anzahl&=sendmessage(Multisellist&,$0190,0,0)   Anzahl der Selektierungen 32 bit OK
        sendmessage(Multisellist&,$0191,Anzahl&,ID#)       Die selektierten Einträge festhalten

        whilenot equ(i1%,Anzahl&)

            let selitem&=long(ID#,mul(i1%,4))               Nummer des Eintrages holen
            sendmessage(multisellist&,$0189,selitem&,Text#) den Sel. Text aus der Liste holen
            addstring(normallist&,String$(Text#,0))         und in die zweite Liste schreiben
            inc i1%

        wend

    elseif equ(%Key,2)

        Print OK
        Waitinput
        Let ende%=1

    endif

wend

dispose Text#
dispose ID#
=s4 href='./../../function-references/XProfan/end/'>end
 
16.07.2007  
 



Zum Quelltext


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

2.358 Views

Untitledvor 0 min.
Member 862464122.04.2024
Uwe Starke17.11.2023
Manfred Barei28.12.2020
iF15.04.2015
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (2x)


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