Français
Source/ Codesnippets

Aufpeppen Gridbox Listview

 

Uwe
''Pascal''
Niemeier
Hi gens!

ici un paire Opportunités, ListViews quelque chose interessanter trop gestalten (XProfan 11):
KompilierenMarqueSéparation
window 10,100-750,300
 $H Messages.ph
 $H Windows.ph
 $H commctrl.ph
struct HD=Mask&,cxy&,Text&,hbm&,TextMax&,fmt&,Param&,Image&,Order&,Type&,Filter&
declare hd#
dim hd#,HD
--Alle Spalten links
var a$=Spalte 1;0;120;Spalte 2;0;120;Spalte 3;0;120;Spalte 4;0;120;Spalte 5;0;120
var Lv&=create(gridbox,%hwnd,a$,0,10,30,700,200)
--Lv ohne Header:
setstyle Lv&,getstyle(Lv&) | ~LVS_NOCOLUMNHEADER
var Header&=sendmessage(Lv&,~LVM_GETHEADER,0,0)
addstring(Lv&,Test1a|Test2a|Test3a|Test4a|Test5a)
--Bei Bedarf:
setstyle Header&,$50000002--Header aktivieren
external(uxtheme.dll,SetWindowTheme,Header&,,)--XP-Style aus
var IcoList&=create(imagelist,16,16)
ImageList(AddIcon,IcoList&,~LoadIcon(0,32513))-- X-Icon
sendmessage(Header&,~HDM_SETIMAGELIST,0,IcoList&)
mcls 16,32--Bei aktivem Header überlagert hohes bmp den Tracking-Streifen!
startpaint -1
cls 255
endpaint
var Pic1&=create(hPic,0,&MEMBMP)
mcls 40,14
startpaint -1
cls 255*255
endpaint
var Pic2&=create(hPic,0,&MEMBMP)
--Kein Text: HDF_STRING weglassen
hd#.Mask&=~HDI_BITMAP | ~HDI_FORMAT
hd#.hbm&=Pic1&
hd#.fmt&=~HDF_STRING | ~HDF_BITMAP | ~HDF_RIGHT
sendmessage(Header&,~HDM_SETITEM,0,hd#)
hd#.Mask&=~HDI_BITMAP | ~HDI_FORMAT
hd#.hbm&=Pic2&
hd#.fmt&=~HDF_STRING | ~HDF_BITMAP | ~HDF_BITMAP_ON_RIGHT | ~HDF_RIGHT
sendmessage(Header&,~HDM_SETITEM,1,hd#)
hd#.Mask&= ~HDI_IMAGE | ~HDI_FORMAT
hd#.Image&=0---Icon aus ImageList
hd#.fmt&=~HDF_STRING | ~HDF_IMAGE  | ~HDF_RIGHT
sendmessage(Header&,~HDM_SETITEM,2,hd#)
hd#.Mask&=~HDI_FORMAT
hd#.fmt&=~HDF_STRING | ~HDF_RIGHT | $200--HDF_SORTDOWN
sendmessage(Header&,~HDM_SETITEM,3,hd#)
hd#.Mask&=~HDI_FORMAT
hd#.fmt&=~HDF_STRING | ~HDF_RIGHT | $400--HDF_SORTUP
sendmessage(Header&,~HDM_SETITEM,4,hd#)
--aktiver Header durchbricht WaitInput bei Klicken *und* loslassen!
print hier klicken!
--Änderung der Textausrichtung des Headers wirkt sich auch auf das Lv aus,
--wird aber erst nach Neuzeichnen sichtbar:
waitinput
repaint
waitinput
--Größe & Position des Headers läßt sich im Prinzip ändern;
--wird aber vom Lv bei nächster Gelegenheit zurückgesetzt.
--Könnte aber als Toolbar verwendet werden :-)
setwindowpos Header&=0,0-700,100
repaint
waitinput
addstring(Lv&,Test1b|Test2b|Test3b|Test4b|Test5b)
repaint

while 1

    waitinput

ef='./../../funktionsreferenzen/XProfan/endwhile/'>endwhile


KompilierenMarqueSéparation
window 10,100-450,300
 $H Messages.ph
 $H Windows.ph
 $H commctrl.ph
declare Lv#
struct Lv=Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&
dim Lv#,Lv

proc LvSetIcon---------------------------------------------LvSetIcon

    Lv#.Item&=&(2)
    Lv#.SubItem&=&(3)
    Lv#.Mask&=~LVIF_IMAGE
    Lv#.Image&=%(4)
    sendmessage(&(1),~LVM_SETITEM,0,Lv#)
    endproc-------------------------------------------------------------
    var IcoList&=create(ImageList,16,16)
    ImageList(AddIcon,IcoList&,~LoadIcon(0,32512))
    ImageList(AddIcon,IcoList&,~LoadIcon(0,32513))
    ImageList(AddIcon,IcoList&,~LoadIcon(0,32514))
    ImageList(AddIcon,IcoList&,~LoadIcon(0,32515))
    var a$=Spalte 1;0;120;Spalte 2;0;120;Spalte 3;0;120
    var Lv&=create(gridbox,%hwnd,a$,0,10,30,400,200)
    sendmessage(Lv&,~LVM_SETIMAGELIST,~LVSIL_SMALL,IcoList&)
    sendmessage(Lv&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVS_EX_SUBITEMIMAGES | ~LVS_EX_GRIDLINES)
    --Gitterlinien überzeichnen Icônes partiellement!
    --Lv sans En-tête:
    setstyle Lv&,getstyle(Lv&) | ~LVS_NOCOLUMNHEADER
    a$=Test x a|Test x b|Test x c|Test x d|Test x e

    whileloop 1,5

        addstring(Lv&,translate$(a$,x,str$(&loop)))

    endwhile

    LvSetIcon(Lv&,0,0,1)--Aufruf: LvSetIcon(Handle&,la ligne%,Spalte%,Icon%)
    LvSetIcon(Lv&,1,1,2)--Werte pour la ligne,Spalte,Icon 0-basé!
    LvSetIcon(Lv&,2,2,3)
    LvSetIcon(Lv&,3,0,getcount(IcoList&))
    LvSetIcon(Lv&,4,0,99)
    LvSetIcon(Lv&,4,2,0)

    tandis que 1

        waitinput

    endwhile


@ Thomas: Meintest du quelque chose comme?

SeeYou
Pascal

[offtopic]
@ iF: Ist mir justement aufgefallen: dans qui Codebox wird oui qui Original-Schreibweise (large/petite) beibehalten
Wäre mais joli si aussi Leerzeilen conservé blieben.

Éditer de iF: avec den Leerzeichen et Tabs kämpfe je déjà une Weile - si je fertig habe volonté (naturellement) aussi Leerzeichen et Tabs (si pas grad führend ou bien abschliessend) beibehalten.
[/offtopic]
 
13.03.2009  
 




Thomas
Freier
hé Pascal,

merci pour qui Beispiele. Ist cela, quoi je suchte.
 
Gruß Thomas
Windows XP SP2, XProfan X2
13.03.2009  
 



je suis Je ne sûrement si cela so gewollt ist (Screenshot) beim ersten Male Draggen qui Spaltenbreite beim Beispiel 1:



Ab dem 2. Male (Draggen qui Spaltenbreite) hingegen erhalte je aucun Erreur d'affichage (?).

mais: Juhu! So allez cela alors!

8 kB
Hochgeladen:13.03.2009
Downloadcounter316
Download
 
13.03.2009  
 




Uwe
''Pascal''
Niemeier
Hi iF!


je suis Je ne sûrement si cela so gewollt ist (Screenshot) beim ersten Male Draggen qui Spaltenbreite


Gewollt pas ,mais absehbar

Es wird oui pour chaque WaitInput trop Demozwecken irgendwas ausprobiert.

chez Aktionen im En-tête volonté mais sogar plusieurs WaitInputs durchbrochen; tout autor steht oui im la fenêtre extra ici klicken

SeeYou
Pascal
 
13.03.2009  
 



Ah!
 
13.03.2009  
 



Zum Quelltext


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

6.303 Views

Untitledvor 0 min.
Gast.081512.10.2024
Walter19.07.2024
Member 862464113.05.2024
Axel Berse08.11.2023
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