| |
|
|
Jac de Lad | Der Titel sagts ya...va el? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 03.12.2007 ▲ |
|
|
|
|
Frank Abbing | Als Hintergrund? No prob. Anstelle Icon va auch - via Imagelist. |
|
|
| |
|
|
|
Jac de Lad | Jaja, aber como kriege Yo el en el Imagelist rein?? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 03.12.2007 ▲ |
|
|
|
|
Frank Abbing | Gibt ne Menge API para el Imagelisten. Su Freund es ImageList_Add(). |
|
|
| |
|
|
|
Jac de Lad | Ach komm ya Franco. Puedo a se con Imagelisten umgehen. Aber sólo BMP/ICO y así. Como kriege Yo como una JPEG rein? Womit lade Yo el...? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 03.12.2007 ▲ |
|
|
|
|
Jörg Sellmeyer | Yo sería veces sagen, Usted erzeugst con Crear(hPic,...) una Handle y übergibst el a el Imageliste. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 03.12.2007 ▲ |
|
|
|
|
Jac de Lad | hPic va no. Yo auch ya gegooglet sin Ende...Yo no soy más. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.12.2007 ▲ |
|
|
|
|
Jac de Lad | Roland, hast du ne Concepto? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 10.12.2007 ▲ |
|
|
|
|
GDL | Hi,
bekommst Schützenhilfe de me.Würde También me gusta Jpeg como Iconbild en el 1sten Spalte uno Línea haben. Posesiones zusätzlich todavía el Prob. dass a Erstellzeit así ca. 1000 jpegs todavía en Icogröße verkleinert voluntad necesario.
Servus Georg |
|
|
| |
|
|
|
Frank Abbing | Manche GDI-API verlangt freie Bitmaps y manche Bitmaps, el a una HDC gekoppelt son. Mit Seleccionar objeto() kannst du Bitmaps a HDCs koppeln y lösen. Wichtig: El Bitmaps sólo liberación, si después de Si es usted el Listview zerstört hast. Hier uno meiner Listview.dll-Source, el esta Technik zeigt. Usted puede el Source ligeramente a deine Bedürfnisse adaptar... KompilierenMarcaSeparaciónDeclare lvdll&,listview&,text$,x&,y&,z&,ilist&,bild1&,bild2&
Def GetSysColor(1) !USER32,GetSysColor
Def CreateBitmap(5) !GDI32,CreateBitmap
Def SelectObject(2) !GDI32,SelectObject
Def ImageList_Create(5) !comctl32.dll,ImageList_Create
Def ImageList_Destroy(1) !comctl32.dll,ImageList_Destroy
Def ImageList_Add(3) !comctl32.dll,ImageList_Add
$I Listview_Funktionen.inc
lvdll&=usedll(Listview.dll)
Prozedure: Icons/Bilder zufällig setzen
Proc BildSetzen
SetIconColumn(1)
SetIcon(listview&,0,Rnd(4))
SetIcon(listview&,1,Rnd(4))
SetIcon(listview&,2,Rnd(4))
SetIcon(listview&,3,Rnd(4))
SetIconColumn(2)
SetIcon(listview&,0,Rnd(4))
SetIcon(listview&,1,Rnd(4))
SetIcon(listview&,2,Rnd(4))
SetIcon(listview&,3,Rnd(4))
SetIconColumn(3)
SetIcon(listview&,0,Rnd(4))
SetIcon(listview&,1,Rnd(4))
SetIcon(listview&,2,Rnd(4))
SetIcon(listview&,3,Rnd(4))
EndProc
Windowtitle Listviews und Spielereien mit Bitmap-Grafiken
Windowstyle 26+512
Window 200,200-440,360
Cls GetSysColor(15)
Usefont MS Sans Serif,10,0,0,0,0
SetDialogFont 1
InitMessages(%hwnd)
Gewünsche Bildgrösse für dieses Demo: 64 x 64 Pixel
ilist&=ImageList_Create(64,64,33,0,0)
listview&=CreateListView(%hwnd,%hinstance,0,RGB(255,255,255),-1,$403)
Leere Bitmap erstellen
x&=CreateBitmap(64,64,1,1,0)
MCls 64,64
StartPaint -1
Speicherbitmap mit Grafik füllen
Speicherbitmap gegen leere Bitmap tauschen, um sie in Imageliste einfügen zu können
Bitmaps zurücktauschen
Cls RGB(255,255,255)
UsePen 1,4,RGB(0,0,255)
Ellipse 5,10-50,50
y&=SelectObject(%hdc,x&)
ImageList_Add(ilist&,y&,0)
x&=SelectObject(%hdc,y&)
Wiederholen für nächstes Grafikobjekt
Cls RGB(255,255,255)
UsePen 2,2,RGB(0,255,0)
Rectangle 5,10-50,50
y&=SelectObject(%hdc,x&)
ImageList_Add(ilist&,y&,0)
x&=SelectObject(%hdc,y&)
Wiederholen...
Cls RGB(255,255,255)
UsePen 3,3,RGB(255,0,0)
RoundRect 5,10-50,50;24,24
y&=SelectObject(%hdc,x&)
ImageList_Add(ilist&,y&,0)
x&=SelectObject(%hdc,y&)
Cls RGB(255,255,255)
UsePen 4,2,RGB(255,0,255)
Line 5,10-50,50
y&=SelectObject(%hdc,x&)
ImageList_Add(ilist&,y&,0)
x&=SelectObject(%hdc,y&)
EndPaint
Leere Bitmap zerstören
DeleteObject x&
SetImageList(listview&,ilist&)
Leere Listviewspalten- und zeilen erzeugen
BuildListview(listview&,4,4,128,0)
Erste Spalte unbrauchbar machen (wegen ungewünschter Selektierung)
SetColumnWidth(listview&,0,0)
BildSetzen
Spaltentexte
text$=Thema 1
SetColumnName(listview&,Addr(text$),1)
text$=Thema 2
SetColumnName(listview&,Addr(text$),2)
text$=Thema 3
SetColumnName(listview&,Addr(text$),3)
Itemtexte generieren
x&=0
y&=0
Whileloop 12
text$=Bild +Str$(&loop)
SetItemText(listview&,addr(text$),x&+1,y&)
x&=x&+1
If x&>=3
x&=0
y&=y&+1
EndIf
EndWhile
ShowListView(listview&,16,16,400,300)
SetTimer 150
While 1
waitinput
Case %key=2:BREAK
BildSetzen
EndWhile
KillTimer
ImageList_Destroy(ilist&)
DestroyWindow(%hwnd)
freedll lvdll&
End
|
|
|
| |
|
|
|
Thomas Freier | Franco, du hast doch el Ejemplo: Grosse_Bitmap-Icons.prf, así puede ser doch auch *.jpg y *.gif verwenden; *.png ging no. |
|
|
| |
|
|
|
Frank Abbing | Sí, Thomas. Der Code demonstriert lo todavía mejor. Aunque voluntad para el entscheidenen Sachen Listview.dll-Características verwendet, während el otro Code el manuell hecho. ImageList_Add() kann PNG no invitar. Aber dank OLE voluntad JPG, GIF y Co aber akzeptiert. Jac, Yo sagte dir sí ya, ImageList_Add es dein Freund... |
|
|
| |
|
|