Deutsch
Quelltexte/ Codesnippets

Icons Listbox Listview

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Listbox (Listview) mit Icons
Programm-Listbox7
Beispiel einer Listbox mit Icons unter Verwendung eines ListView. Ab Profan 6.6.
Version 3.1  11.12.2002.     Das Programm kann frei benutzt werden, für
Schäden kann keine Haftung übernommen werden.
Autor: Gerhard Putschalka
homepage: http://members.telering.at/g.putschalka/index.html
email: g.putschalka@web.de
Das Programm zeigt, zum Unterschied zu Programm ListBox6, mehr Möglichkeiten welche
ein ListView bietet. Jedoch nicht alle Möglichkeiten.
Genauere Erklärungen zur Erstellung von Listviews finden sich in ListView.txt und im
Programm ListBox6.
Bitte auch Listbox.txt beachten!
 $I ListView.inc
=====================
Main
=====================
Def @LoadIcon(2) !user32.dll,LoadIconA
Declare Ende%,Anzeige%,Anzahl&,X%,Feld$,Dlg%,DwStyle&
SetTrueColor 1
Cls @RGB(255,255,255)
usefont Ms Sans Serif,14,0,0,0,0
setdialogfont 1
Let Dlg% = @CreateDialog(%Hwnd,ListBox7,220,190,410,280)
Let Anzeige% = @CreateButton(Dlg%,anzeigen,120,220,60,30)
Let Ende% = @CreateButton(Dlg%,Ende,220,220,60,30)
DIM LV_ITEM#,292
DIM LV_Selected#,65535
Let LV_ColMask& = 11
Clear LV_Item#
1. erstelle ImageList für die Icons
let LV_IList& = @CreateImageList (@GetSystemMetrics(49),@GetSystemMetrics(50),1,0,0)
2. einige Icons (aus dem eigenen Programm) zur Liste hinzufügen
Add_Icon_to_List EDITOR,%HInstance,LV_IList&
Add_Icon_to_List KNOPF2,%HInstance,LV_IList&
Add_Icon_to_List BAUM,%HInstance,LV_IList&
Add_Icon_to_List DRUCKER,%HInstance,LV_IList&
Add_Icon_to_List TEXT,%HInstance,LV_IList&
Add_Icon_to_List COMPUTER,%HInstance,LV_IList&
3. ListView erstellen und Farben zuordnen
In ListView.txt sind verschiedene Möglichkeiten angeführt um mit dem passenden
Wert in DwStyle& und ExLVStyle% die Darstellung unterschiedlich zu gestalten.
Let DwStyle& = ($50000000 + 1 + 8)  Werte: siehe Prozedur CreateListView
CreateListView Dlg%,DwStyle&,3,0,400,190,512,$33
@SetLVTxtcolor(LV_Hndl&,$000000FF)  Textfarbe (rot)
@SetLVTxtbkcolor(LV_Hndl&,-1)     Hintergrundfarbe im Text (transparent)
@SetLVbkcolor(LV_Hndl&,$00BDFFFF)   Farbe Fensterhintergrund (gelb)
4. die ImageList (mit den Icons) dem ListView zuordnen
@SetImageList(LV_Hndl&,LV_IList&,1)
5. Spalten im ListView erstellen inkl. Attribute
CreateListViewColumn LV_Hndl&,15,0,180,Links,0  erste Spalte
CreateListViewColumn LV_Hndl&,15,2,100,Mitte,1  zweite Spalte
CreateListViewColumn LV_Hndl&,15,1,80,Rechts,2  dritte Spalte
6. hier werden die Listview-Zeilen hinzugefügt (~AddString)
Add_Zeile_I AB,DEF,0123,0
Add_Zeile_I GHI,J23KL,012345,1
Add_Zeile_I MNOP,PQR,,2
Add_Zeile_I STU,,V,3
Add_Zeile_I ABCD12,STUVW,XYZ0,4
Add_Zeile_I ABCD34,stuvw,999,00,5
Add_Zeile_I Abcd45,STUVW,-111,11,1
Add_Zeile_I Abcd56,StUVW,2.111,11,2
Add_Zeile_I Abcd56,AbxVW,-15.234,56,3
Add_Zeile_I Abcd67,STUVW,0,00,4
hier kann der Inhalt aufsteigend sortiert werden:
@Sendmessage(LV_Hndl&,$1030,0,0)
nicht zu verwechseln mit dem Fensterstil aufsteigend/absteigend sortiert.
7. ListView wird angezeigt. Jetzt auswerten

WhileNot @GetFocus(Ende%)

    WaitKey

    IfNot @GetFocus(Ende%)

        jetzt werden in Lv_Selected#, ab 1. Position beginnend, die Zeilennummern aller
        ausgewählten Zeilen als WORDs gespeichert
        Long Lv_Item#,8 = 0  wieder auf erste Spalte setzen
        GetSelectedItems 0,1
        Let Anzahl& = @&(0)  Anzahl ausgewählter Zeilen
        in einer Schleife werden jetzt die Texte aller ausgewählten Zeilen geholt und im
        Fenster angezeigt. Die Werte der Spalten sind durch ein Tabulatorbyte
        (oder @Chr$(09) ) getrennt. Damit kann mit der Funktion @Substr$ jeder Spaltenwert
        herausgelöst werden. Z.B.
        Let Spalte$ = @Substr$(Feld$,1,	) überträgt den Wert der ersten Spalte in die
        Variable Spalte$.
        Let X% = 0

        While (X% < Anzahl&)

            Hole_Zeile (X%)
            Let Feld$ = @$(0)   zusammengesetzter Text der Zeile
            jetzt werden alle Spalten angezeigt. Die Tabulatorbytes werden für die Anzeige
            durch  /  ersetzt.
            Let Feld$ = @Translate$(Feld$,	, / )
            Print Feld$
            Inc X%

        EndWhile

        Print

    EndIf

EndWhile

@DestroyImageList(LV_IList&)
DISPOSE LV_ITEM#
DISPOSE LV_Selected#
End
 
16.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.919 Betrachtungen

Unbenanntvor 0 min.
Gast.081512.10.2024
Rainer Hoefs26.06.2023
Normann Strübli01.02.2023
Ernst23.07.2016
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie