Explorer Ikonen
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
ListView
Jawohl,das kling gut........
Aber wie heisst das API für dieses ListView ????????
(es ist ja offenbar transparent !)
Aber wie heisst das API für dieses ListView ????????
(es ist ja offenbar transparent !)
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
LISTVIEW
Bleibt mir nur noch die Frage ...............
Wie heisst die API hierfür ??????
Wie heisst die API hierfür ??????
CodeArchiv schafft Abhilfe. Ein von mir leicht verändertes Beispiel von El_Choni:
Code: Alles auswählen
; English forum: http://purebasic.myforums.net/viewtopic.php?t=5208&highlight=
; Author: El_Choni
; Date: 25. February 2003
#LVBKIF_SOURCE_NONE = 0
#LVBKIF_SOURCE_HBITMAP = 1
#LVBKIF_SOURCE_URL = 2
#LVBKIF_SOURCE_MASK = 3
#LVBKIF_STYLE_NORMAL = 0
#LVBKIF_STYLE_TILE = $10
#LVBKIF_STYLE_MASK = $10
#LVM_SETBKIMAGE = #LVM_FIRST + 68
#LVM_SETBKIMAGEW = #LVM_FIRST + 138
#LVM_GETBKIMAGE = #LVM_FIRST + 69
#LVM_GETBKIMAGEW = #LVM_FIRST + 139
#CLR_NONE = -1
Structure LVBKIMAGE
ulFlags.l
hbm.l
pszImage.l
cchImageMax.l
xOffsetPercent.l
yOffsetPercent.l
EndStructure
CreateImage(0, 32, 32) ; Icon
If StartDrawing(ImageOutput())
Box(0, 0, 32, 32, RGB(155, 155, 255))
StopDrawing()
EndIf
OleInitialize_(0)
If OpenWindow(0, 384, 288, 640, 480, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget, "ListIconGadget background image example")
If CreateGadgetList(WindowID())
ListIconGadget = ListIconGadget(0, 0, 0, 640, WindowHeight(), "Column 0", LVCWidth, #PB_ListIcon_FullRowSelect)
ChangeListIconGadgetDisplay(0, 0)
AddGadgetColumn(0, 1, "Column 1", 640)
AddGadgetItem(0, 0, "Icon 1", UseImage(0))
AddGadgetItem(0, 0, "Icon 2", UseImage(0))
SendMessage_(ListIconGadget, #LVM_SETTEXTCOLOR, 0, $000000)
SendMessage_(ListIconGadget, #LVM_SETBKCOLOR, 0, #CLR_NONE)
SendMessage_(ListIconGadget, #LVM_SETTEXTBKCOLOR, 0, #CLR_NONE)
Buffer = AllocateMemory(512)
GetModuleFileName_(GetModuleHandle_(0), Buffer, 512)
InitialDir$ = GetPathPart(PeekS(Buffer))
FreeMemory(0)
File$ = OpenFileRequester("Select image", InitialDir$, "ListIcon supported images|*.bmp;*.ico;*.gif;*.jpg;*.wmf;*.emf", 0)
If File$
lbk.LVBKIMAGE
lbk\ulFlags = #LVBKIF_STYLE_NORMAL|#LVBKIF_SOURCE_URL;|#LVBKIF_STYLE_TILE
lbk\pszImage = @File$
; lbk\xOffsetPercent;
; lbk\yOffsetPercent;
SendMessage_(ListIconGadget, #LVM_SETBKIMAGE, 0, lbk)
EndIf
Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
EndIf
EndIf
OleUninitialize_()
End
-
- Beiträge: 13
- Registriert: 26.07.2006 03:26
Dazu musst du dir ein Callback schreiben das ne Drag-Routine hat.Mir fällt grade auf, die Icons im ListView sind garnicht bewegbar . Unter VB konnte ich die doch mit dem ähnlichem GUI Element bewegen
Mit der Message LVM_SETITEMPOSITION kannst du das Icon wieder auf eine neue Stelle schreiben lassen.
> windows bietet nicht zu fällig die möglichkeit von der symboldarstellung in
> z.b. eine listen- oder detail-ansicht des desktops zu wechseln?
Grüße ... Kiffi
> z.b. eine listen- oder detail-ansicht des desktops zu wechseln?
Code: Alles auswählen
hDesktop=GetDesktopWindow_()
hDesktop=FindWindowEx_(hDesktop, 0, "Progman", "Program Manager")
hDesktop=FindWindowEx_(hDesktop, 0, "SHELLDLL_DefView", 0)
hDesktop=FindWindowEx_(hDesktop, 0, "SysListView32", 0)
; Sinnvolle Flags:
; #LVS_ICON
; #LVS_SMALLICON
; #LVS_LIST
; #LVS_REPORT
SetWindowLong_(hDesktop, #GWL_STYLE, (GetWindowLong_(hDesktop, #GWL_STYLE) & ~#LVS_TYPEMASK) | #LVS_ICON)
a²+b²=mc²