Hi,
ich habe mal einige Fragen zur ListView, und zwar:
1. Ich verstehe die genauen Auswirkungen einiger Styles nicht. Gibt es irgendwo eine Übersicht mit genaueren Erklärungen, bzw. praktische Beispiele?
Spoiler anzeigen
ListView Styles:
$LVS_ICON 0x0000 This style specifies icon view.
$LVS_REPORT 0x0001 This style specifies report view.
$LVS_SMALLICON 0x0002 This style specifies small icon view.
$LVS_LIST 0x0003 This style specifies list view.
$LVS_EDITLABELS 0x0200 Item text can be edited in place.
Extended ListView Styles:
$LVS_EX_DOUBLEBUFFER 0x00010000
$LVS_EX_MULTIWORKAREAS 0x00002000
$LVS_EX_SNAPTOGRID 0x00080000
$LVS_EX_SUBITEMIMAGES 0x00000002 Allows images to be displayed for subitems.
Alles anzeigen
Was mich hier am meisten interessiert ist:
Kann man damit Items in eine beliebige Zelle schreiben, oder wie? Ich kannte bisher nur folgendes:
Spoiler anzeigen
$a_lviewitems[$i_lviewitemindex] = GUICtrlCreateListViewItem("|Name|Adresse|Telefon", $h_lview))
GUICtrlSetImage(-1, "IconFile.dll", 0, 0)
Damit erreicht man aber ja lediglich, dass in die erste Spalte das Icon geschrieben wird.
Ferner interessiert mich, wie ich es erreiche, dass ich eine CheckBox (am besten 3state [also, gechecked, grey und ungechecked]) in eine Zelle meiner ListView bekomme. Mit
erreiche ich lediglich, dass eine CheckBox in der ersten Spalte erstellt wird, allerdings auch nur 2state.
2. Gibt es irgendwo eine ListView UDF-Sammlung, die noch weitere Funktionen bietet? (Rein interessenhalber...)
3. Wenn wir eben schon bei GUI Styles waren, was bewirken folgende Common Styles?
Spoiler anzeigen
$WS_CLIPCHILDREN 0x02000000 Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.
$WS_CLIPSIBLINGS 0x04000000 Clips child windows relative to each other; that is, when a particular child window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, when drawing within the client area of a child window, to draw within the client area of a neighboring child window.
$WS_CHILD 0x40000000 Creates a child window. A window with this style cannot have a menu bar. This style cannot be used with the WS_POPUP style.
Beziehen sich Styles eigentlich nur aus Aussehen, oder stecken noch andere Dinge dahinter? Was bewirkt das Erstellen eines ChildWindows zu einem Anderen?
Ziemlich viele Fragen auf einmal, ich weiß. Aber wäre schon dankbar, wenn ein paar davon beantwortet werden können!