Deutsch
Quelltexte/ Codesnippets

Erzeugen Icons Listview

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Listview mit Icons erzeugen
(C) Uwe Pascal Niemeier
window 30,30-550,300
usefont MS Sans Serif,15,7,0,0,0
setdialogfont 1
settruecolor 1
----------------------------------------------------------------ImageList
declare IcoList&
def ImageList_Create(5) !COMCTL32,ImageList_Create
def ImageList_AddIcon(2) !COMCTL32,ImageList_AddIcon
def ImageList_Destroy(1) !COMCTL32,ImageList_Destroy
def LoadIcon(2) !USER32,LoadIconA
IcoList&=ImageList_Create(16,16,1,1,0)---Parameter 1+2: Grösse der Icons
ImageList_AddIcon(IcoList&,LoadIcon(0,32512))---SystemIcons laden
ImageList_AddIcon(IcoList&,LoadIcon(0,32513))
ImageList_AddIcon(IcoList&,LoadIcon(0,32514))
--------------------------------------------Diesen Pfad bitte anpassen!!
 $H X:Experimente 7.0ListViewListView.ph
 $H ListView.ph
---------------------------------------------------------------------------------Funktionen
------Spalte einfügen
def LvInsertColumn(2) sendmessage( &(1),~LVM_INSERTCOLUMN,%(2),Lvc# )
------Kombination aus LVM_SETITEMTEXT und LVM_INSERTITEM, weil zum Anlegen des Items
------und zum Setzen der SubItem-Texte verschiedene Messages nötig sind
def LvInsertItem(1) if(Lv#.SubItem&,sendmessage(&(1),~LVM_SETITEMTEXT,Lv#.Item&,Lv#),sendmessage(&(1),~LVM_INSERTITEM,0,Lv#))
------Suche nach Item mit State LVIS_SELECTED = $02
def LvGetSelect(1) sendmessage( &(1),~LVM_GETNEXTITEM,-1,~LVIS_SELECTED )
------Text eines Items/SubItems abfragen
def LvGetItemText(2) sendmessage( &(1),~LVM_GETITEMTEXT,&(2),Lv# )
------Eigenschaften eines Items setzen (z.B. SubItem-Icon)
def LvSetItem(1) sendmessage( &(1),~LVM_SETITEM,0,Lv# )
declare Lvc#,Lv#,Lv1&
Lv1&=control(SysListView32,,$54010009,20,20,400,200,%hwnd,1,%hinstance,$200)
sendmessage(Lv1&,~LVM_SETIMAGELIST,1,IcoList&)--------ListView mit ImageList verbinden
sendmessage(Lv1&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVS_EX_GRIDLINES | ~LVS_EX_SUBITEMIMAGES)
-----------------Font des Headers ändern
declare Font&,Header&
Font&=Create(Font,Arial,15,15,0,0,0)
Header&=sendmessage(Lv1&,~LVM_GETHEADER,0,0)
setfont Header&,Font&
struct Lvc=Mask&,Fmt&,Cx&,Text&,TextMax&,SubItem&,Image&,Order&,Text$(200)
dim Lvc#,Lvc
clear Lvc#
Lvc#.Mask&    =~LVCF_TEXT | ~LVCF_IMAGE | ~LVCF_WIDTH
Lvc#.Text&    =Lvc#+32
Lvc#.TextMax& =200
Lvc#.Cx&   =200
Lvc#.Image&=1
Lvc#.Text$ =Text 1
LvInsertColumn(Lv1&,0)
Lvc#.Cx&   =150
Lvc#.Image&=0
Lvc#.Text$ =Text 2
LvInsertColumn(Lv1&,1)
dispose Lvc#
struct Lvi=Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&,Param&,Text$(200)
dim Lv#,Lvi
clear Lv#
Lv#.Text&   =(Lv#+36)
Lv#.TextMax&=200----Maximal zu erwartende Textlänge entspricht Länge von Lv#.Text$
-------------------------------------------------Item 1
Lv#.Mask&   =~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE
Lv#.Image&   =1
Lv#.Item&    =0
Lv#.SubItem& =0
Lv#.Text$    =Eintrag 1
LvInsertItem(Lv1&)
Lv#.SubItem& =1
Lv#.Text$    =Eintrag 2
LvInsertItem(Lv1&)
Lv#.Mask&   =~LVIF_IMAGE
Lv#.Image&  =2
LvSetItem(Lv1&)
-------------------------------------------------Item 2
Lv#.Mask&   =~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE
Lv#.Image&   =2
Lv#.Item&    =1
Lv#.SubItem& =0
Lv#.Text$    =Eintrag 3
LvInsertItem(Lv1&)
Lv#.SubItem& =1
Lv#.Text$    =Eintrag 4
LvInsertItem(Lv1&)
Lv#.Mask&   =~LVIF_IMAGE
Lv#.Image&  =1
LvSetItem(Lv1&)

while 1----------------------------------Abfrage

    waitinput
    settext %hwnd,str$(LvGetSelect(Lv1&))

endwhile

-----dies sollte beim praktischen Einsatz spätestens bei Programm-Ende erreicht werden!
destroywindow(Lv1&)
ImageList_Destroy(IcoList&)
DeleteObject Font&
dispose Lv#
 
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.809 Betrachtungen

Unbenanntvor 0 min.
Gast.081512.10.2024
Walter03.05.2024
Uwe Starke17.11.2023
Jörg Sellmeyer22.06.2020
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