Auch die Reihe anzeigen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Then
Beiträge: 247
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Auch die Reihe anzeigen

Beitrag von Then »

Hallo,

folgendes Problem. Ich brauchte einen Abfrage für die Überschriften der Spalten meines ListIconGadgets, weil ich damit gearbeitet habe. Mit folgendem Code gings auch einwandfrei :

Code: Alles auswählen

Procedure wndproc(hwnd,msg,wParam,lParam) 
Shared hlv 
ret=#PB_ProcessPureBasicEvents 

Select msg 

Case #WM_NOTIFY 
*pnmhdr.NMHDR=lParam 
If *pnmhdr\code=#LVN_COLUMNCLICK ;column click 
*pnmlistview.NMLISTVIEW=lParam 
If *pnmlistview\hdr\hwndFrom=hlv ;comes from our listicon 
Column=*pnmlistview\iSubItem 
MessageRequester("",Str(Column),0) 
EndIf 
EndIf 

EndSelect 
ProcedureReturn ret 
EndProcedure 


hwnd=OpenWindow(0,100,100,300,150,"Column Click",#PB_Window_SystemMenu) 
CreateGadgetList(hwnd) 

hlv=ListIconGadget(1,10,10,250,100,"Column 0",80) 

AddGadgetColumn(1,1,"Column 1",80) 
AddGadgetColumn(1,2,"Column 2",80) 

SetWindowCallback(@wndproc()) 

Repeat 
Until WaitWindowEvent()=#PB_Event_CloseWindow
jetzt ist es aber so, dass in dieser LIste auch Einträge gemacht werden, welche ich löschen muss, daher muss ich nun auch die Reihe ermitteln.... nur wie geht das? Gedgetstate scheint mit diesem Code nicht mehr zu gehen.... :cry:
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
marcelx
Beiträge: 424
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: Auch die Reihe anzeigen

Beitrag von marcelx »

Hallo Then,

meinst Du so was mit GetGadgetItemText(1, -1, Column):

Code: Alles auswählen

Procedure wndproc(hwnd,msg,wParam,lParam)
  Shared hlv
  ret=#PB_ProcessPureBasicEvents
  
  Select msg
     Case #WM_NOTIFY
      *pnmhdr.NMHDR=lParam
      If *pnmhdr\code=#LVN_COLUMNCLICK ;column click
        *pnmlistview.NMLISTVIEW=lParam
        If *pnmlistview\hdr\hwndFrom=hlv ;comes from our listicon
          Column=*pnmlistview\iSubItem
          ;MessageRequester("",Str(Column),0)
          MessageRequester("", GetGadgetItemText(1, -1, Column))
        EndIf
      EndIf
  EndSelect
  ProcedureReturn ret
EndProcedure

hwnd=OpenWindow(0,100,100,300,150,"Column Click",#PB_Window_SystemMenu)
CreateGadgetList(hwnd)

hlv=ListIconGadget(1,10,10,250,100,"Column 0",80)

AddGadgetColumn(1,1,"Column 1",80)
AddGadgetColumn(1,2,"Column 2",80)

SetWindowCallback(@wndproc())

Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
Win-10, PB 5.31 (Windows - x86)
Antworten