Checkbox im Header

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Checkbox im Header

Beitrag von hjbremer »

Hier eine Variante für alle die Spalte null im ListIcongadget nicht benutzen

Eine Checkbox im Header von Spalte 1 für alles markieren, erspart Strg + A Shortcut

ab Vista, SetWindowTheme nicht unbedingt nötig

Code: Alles auswählen

Import "UxTheme.lib"
   SetWindowTheme(hwnd, classname.p-unicode, titlename)
EndImport

#list_nr = 1

If OpenWindow(0, 100, 100, 400, 500, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   
   flags = #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection
   flags | #PB_ListIcon_MultiSelect
   ListIconGadget(#list_nr, 5, 5, 390, 490, "", 0, flags)
   
   ;SetWindowTheme(GadgetID(#list_nr), "explorer", 0)
   
   AddGadgetColumn(#list_nr, 1, "Name", 100)
   AddGadgetColumn(#list_nr, 2, "Address", 250)
   
   #HDS_CHECKBOXES = $0400
   header = SendMessage_(GadgetID(#list_nr), #LVM_GETHEADER, 0, 0)
   hdstyle = GetWindowLongPtr_(header, #GWL_STYLE)
   hdstyle | #HDS_CHECKBOXES
   SetWindowLongPtr_(header, #GWL_STYLE, hdstyle)
   
   column = 1
   hdi.HDITEM
   hdi\mask = #HDI_FORMAT
   
   SendMessage_(header, #HDM_GETITEM, column, hdi)
   
   #HDF_CHECKBOX = $00000040 
   hdi\fmt | #HDF_CHECKBOX
   SendMessage_(header, #HDM_SETITEM, column, hdi)
   
   
   For j = 1 To 22
      AddGadgetItem(#list_nr, -1, #LF$+"Harry Rannit"+#LF$+"12 Parliament Way, Battle Street, By the Bay")
      AddGadgetItem(#list_nr, -1, #LF$+"Ginger Brokeit"+#LF$+"130 PureBasic Road, BigTown, CodeCity")
   Next
   
   Repeat
      Event = WaitWindowEvent()
   Until Event = #PB_Event_CloseWindow
   
EndIf

Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Checkbox im Header

Beitrag von WPö »

Moin!

Danke für's Teilen!
Bestätige: Leider nichts für Win XP.

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: Checkbox im Header

Beitrag von Lambda »

Einfacher/cross-platform wäre ein Item das als "Alles markieren" verwendet wird, oder das hybride Tree/ListIcon Gadget von.. öhm.. ist bei den "Nexus" Gadgets dabei. :D
Antworten