Français
Unités

Einfachstes ListView erzeugen (Unit) - Télécharger

 
- page 1 -



Michael
Dell
plv.pcu v2.4

Befehlsliste:

plv.CreateListView()
plv.DelLView()
plv.SetHeader()
plv.SetRow()
plv.ReSetItem()
plv.GetRow()
plv.DelAll()
plv.DelRow()
plv.gSelItems()
plv.gCheckItems()
plv.sCheckItem()
plv.BKCol()
plv.tCol()
plv.tBKCol()
plv.UpDate()
plv.SetFnt()
plv.ResFnt()
plv.gImgXY()
plv.Ico2Lst()
plv.GetHeader()
plv.GetHeaderOrder()
plv.SetHeaderOrder()
plv.Version$()
plv.HitSortsLV()

Auteurs: Richard Maurukas, Michael Dell, Rolf Koch, Carlo coin, efisch, Thomas R. & Dieter Zornow

Geändert am: 05.12.2007

Changements v2.4: XProfan v11 Problem gelöst. Dank, Dieter Zornow!!!
plv comme Include plv.pinc inkl. Beispiel beigelegt.

56 kB
Kurzbeschreibung: pöv v2.4
Hochgeladen:05.12.2007
Downloadcounter564
Download
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
22.10.2004  
 



 
- page 3 -



Michael
Dell
cela isses oui, qui sollte avec Icônes son

Hab cela ganze la fois n bisserl umgestrickt, vieleicht lag cela Problem y cela qui Imagelist avant dem Listview erzeugt wurde.
maintenant wird vous après erzeugt allerdings interne (est dans einem Befehl) et direct dem Listview zugeordnet, la fois sehn si cela maintenant fonctionne.

Salut

Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
02.11.2004  
 




Rolf
Koch
Sorry, mais toujours cela gleiche. aucun Icônes trop voyons.

Rolf
 
02.11.2004  
 




Michael
Dell
Hrrmpff! Gnade, bof kreig je déjà encore hin.

Salut...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
02.11.2004  
 




Rolf
Koch
:+D)-- Jo, cela kenne je.
on hat justement cela sentiment, qui es parfait fonctionne et siehe là: non, Bill G. pouvoir einem avec den verschiedenen Windows Versionen la fois wieder une Strich par l'addition.
de chaque Programmierer wird erwartet, qui on kompatibel bleibt - cependant Mircosoft hat ca de Version trop Version pas nötig. Ist oui comment chez Nintendo. chacun Console qui sur den marché kam, hatte un d'autre Medium - pas comment chez qui PS et PS2 de Sony. ca simple seulement la fois am Rande. Huch maintenant hab je mich mais large vom Thema entfernt
Rolf
 
02.11.2004  
 




Frank
Abbing
Hi.

Michael, schick mir dein Stück Code doch la fois trop et je vergleiche es la fois avec meinem Maschinencode.
 
02.11.2004  
 




Normann
Strübli
Hi,

si Du den Voir le texte source pas rausrücken veux ensuite guck Dir den Folgenden la fois à.
chez mir funktioniert cela ganze.
Nebenbei sommes là aussi Subitem-Images enthalten -peux Du oui juste avec
einbauen :biggrin:

peut-être findest Du den faute oui so...
KompilierenMarqueSéparation
 $H commctrl.ph
DEf LockWindowUpdate(1) ! "USER32","LockWindowUpdate"
Def InitCommonControls(0) !"COMCTL32","InitCommonControls"
InitCommonControls()
DEF ExtractIcon(3) !"SHELL32","ExtractIconA"
window 30,30-550,300
usefont "MS Sans Serif",15,7,0,0,0
setdialogfont 1
settruecolor 1
----------------------------------------------------------------ImageList
declare IcoList&
Def SetWindowlong(3) ! "USER32.DLL","SetWindowLongA" zum Ändern des Fensterstils
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"
Def ImageList_Add(3) !"COMCTL32","ImageList_Add"
declare himagelist&,e%,datei#,imagehandle&
DECLARE PictureObject&
IcoList&=ImageList_Create(18,18,1,1,0)---Parameter 1+2: Grösse der Icons
ImageList_AddIcon(IcoList&,PictureObject&)---SystemIcons laden
ImageList_AddIcon(IcoList&,LoadIcon(0,32512))---SystemIcons laden
ImageList_AddIcon(IcoList&,LoadIcon(0,32513))
ImageList_AddIcon(IcoList&,LoadIcon(0,32514))
Declare LVColumntext#,LVCOLUMN#
Dim LVColumntext#,255
Dim LVCOLUMN#,300

PROC LVINSERTCOLUMN --------------------HEADER-für ReportStil--------------------------

    string LVColumnText#,0 = @$(5)      Der Übergebene Text in @$(4)        ok
    long LVCOLUMN#,0 = $000F            MAsk,Text|Format|Width|Subitem      ok
    long LVCOLUMN#,4 = @&(3)            Ausrichtung                In @&(2) ok
    long LVCOlumn#,8 = @&(4)            Width of Column in Pixeln. In @&(3) ok
    Long LVColumn#,12= LVColumnText#    die Adresse aus LVColumntext#       ok
    sendmessage(@&(1),$101B,@&(2),LVColumn#) Insertcolumn. in @&(1)        ok
    ENDPROC -------------------------------------------------------------------------
    def LvInsertColumn(2) sendmessage( &(1),~LVM_INSERTCOLUMN,%(2),Lvc# )
    def LvInsertItem(1) if(Lv#.SubItem&,sendmessage(&(1),~LVM_SETITEMTEXT,Lv#.Item&,Lv#),sendmessage(&(1),~LVM_INSERTITEM,0,Lv#))
    def LvGetSelect(2) sendmessage( &(1),~LVM_GETNEXTITEM,&(2),~LVIS_SELECTED )
    def LvGetItemText(2) sendmessage( &(1),~LVM_GETITEMTEXT,&(2),Lv# )
    def LvSetItem(1) sendmessage( &(1),~LVM_SETITEM,0,Lv# )
    Declare LV_Handle&    Handle des Aktuellen listviews
    ---------------------------------------------------------------------------------Funktionen

    proc InsertColumn

        Parameters LV_Handle&,mask&,Fmt&,Cx&,Text$,Textmax&,Subitem&,Image&,Order&
        LvInsertColumn(@&(1),0)

    Endproc

    >>> Setzt die Eigenschaften für das Listview...

    Proc SetItem

        Parameters LV_Handle&,mask&,state&,statemask&,image&,item&,subitem&,text$
        Lv#.Mask&   = @&(2)
        Lv#.state&  = @&(3)
        Lv#.statemask&  = @&(4)
        Lv#.Image&   = @&(5)
        Lv#.Item&    = @&(6)
        Lv#.SubItem& = @&(7)
        Lv#.Text$    = @$(8)
        LvInsertItem(Lv1&)
        Lv#.Mask&   =~LVIF_IMAGE
        LvSetItem(Lv1&)

    endproc

    declare Lvc#,Lv#,Lv1&
    Lv1&=control("SysListView32","",$54010009,0,0,550,300,%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 | ~LVS_EX_CHECKBOXES | ~LVS_EX_FULLROWSELECT | ~LVS_EX_HEADERDRAGDROP | ~LVS_EX_FLATSB | ~LVS_EX_INFOTIP)
    sendmessage(lv1&,$1001,0,$00AAAAAA)     Hintergrund-Farbe ok |
    sendmessage(lv1&,$1024,0,$000000FF)     Text-Farbe        ok |
    sendmessage(lv1&,$1026,0,$FFFFFFFF)     TextHintergrund-Farbe transparent? -1
    -----------------Font des Headers ändern
    declare Font&,Header&
    Font&=Create("Font","Arial",18,0,1,0,0)
    Header&=sendmessage(Lv1&,~LVM_GETHEADER,0,0)
    setfont Header&,Font&
    struct Lvc=Mask&,Fmt&,Cx&,Text&,TextMax&,SubItem&,Image&,Order&,Text$(20)
    dim Lvc#,Lvc
    clear Lvc#
    Lvc#.Mask&    =~LVCF_TEXT | ~LVCF_IMAGE | ~LVCF_WIDTH
    Lvc#.Text&    =Lvc#+32
    Lvc#.TextMax& =200
    Lvc#.Cx&   =180   Breite
    Lvc#.Image&=1
    Lvc#.Text$ ="Spalte 1"
    LvInsertColumn(Lv1&,0)
    Lvc#.Cx&   =120
    Lvc#.Image&=0
    Lvc#.Text$ ="Spalte 2"
    LvInsertColumn(Lv1&,1)
    Lvc#.Cx&   =120
    Lvc#.Image&=1
    Lvc#.Text$ ="Spalte 3"
    LvInsertColumn(Lv1&,2)
    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&   =2
    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&)
    Lv#.Mask&   =~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE
    Lv#.Image&   =1
    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&  =7
    LvSetItem(Lv1&)
    Lv#.Mask&   =~LVIF_STATE
    Lv#.Image&   =1
    Lv#.Item&    =0
    Lv#.SubItem& =0
    Lv#.state&  = 12092
    Lv#.statemask&  = $F000
    sendmessage(lv1&,~LVM_SETITEM,0,lv#)  Neue Attribute setzen
    setitem lv1&,~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE | ~LVIF_IMAGE,0,0,0,2,0,"Text1"
    setitem lv1&,~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE | ~LVIF_IMAGE,0,0,0,2,1,"Text2"
    setitem lv1&,~LVIF_TEXT | ~LVIF_PARAM | ~LVIF_STATE,0,0,0,2,2,"Text3"

    while 1

        waitinput

    wend

    destroywindow(Lv1&)
    ImageList_Destroy(IcoList&)
    DeleteObject Font&
    dispose Lv#
 
02.11.2004  
 




Michael
Dell
allô Normann,

sur qui péril hin toi trop enttäuschen je verwende qui selben APIs et Messages comment dans deinem et einigen anderen
Beispielen aussi!!!

qui folgenden Strukuren sommes sûrement bekannt:
KompilierenMarqueSéparation
Struct LV_COLUMN = Maske&,Formate&,SpaltenBreite&,pointerText&,TextLen&,Spalte&
Struct LV_Item   = Maske&,Zeile&,Spalte&,Status&,StatusMaske&,pointerText&,TextLen&,ImgIndex&,lParam
e>

Lediglich cela auslesen qui ListView_CheckBoxen ist pas so bekannt: (ou bien je habs simple pas entdeckt!)
KompilierenMarqueSéparation
Proc IsItemChecked

    Parameters lvHndl&,Row&
    Declare Item#,erg&
    Dim Item#,LV_Item

    With Item#

        .Maske&       = $0008
        .Zeile&       = Row&
        .Spalte&      = 0  (Col&)
        .Status&      = 2
        .StatusMaske& = $F000

    EndWith

    SendMessage(lvHndl&,$1005,Row&,Item#)
    erg& = Equ(Item#.Status&,8192)
    Dispose Item#
    Return erg&

ENDPROC


et avec cela ist alles bekannt, je verwende aucun geheimen Tricks ou bien so!

Salut

Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
03.11.2004  
 




Manfred
Barei
allô Michael,

Funktioniert sous NT4.0 (Servicepack 6) Einwand libre, Icônes volonté alle Angezeigt. :+)--

Grus aus qui Lüneburger Heide de Manfred ( plus so )
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
03.11.2004  
 




Normann
Strübli
Mppff!

Michael, je voulais avec dem Beispiel oui aussi pas montrer WIE Du es faire sollst.
(is bien sûr cela Du cela savoir)
und dir tout autor cela cet Beispiel im opposition trop Deiner Exe chez
mir einwandfrei funktioniert!

alors doit là doch irgendeine Kleinigkeit anders son ou bien :?:

Salut
Normann
 
03.11.2004  
 




Rolf
Koch
oui, stimmt, Normans Beispiel funktioniert komischerweise avec Icônes aussi chez mir.
Rolf
 
03.11.2004  
 




Michael
Dell
oui, pour meiner kleinen voyage ins WinXP pays (Besuch chez Mom!) J'ai eu pour dem ego la fois selbst gesehen hab cela sentiment cela WinXP meinen Stil pas mag , meinen Contrôle- Stil oui c'est ca dit.

Hab cela la fois entsprechend geändert et hochgeladen, sur WinXP testen peux ego mais seulement demain.

Salut...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
03.11.2004  
 




Rolf
Koch
Images im Listview: 0

malheureusement toujours pas. Komisch, ou bien?

Rolf
 
03.11.2004  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

59.597 Views

Untitledvor 0 min.
Gast.081512.10.2024
Erhard Wirth14.06.2024
Axel Berse03.12.2023
RudiB.08.04.2022
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie