Gå til innhold

lese fra listbox i ett annet programm?


Anbefalte innlegg

Videoannonse
Annonse

Det kan du nok bruke SendMessage til, men du må vite hwnd'en til boksen.

Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_ADDSTRING = &H180

Private Sub Form_Load()
   SendMessage List1.hwnd, LB_ADDSTRING, 0, ByVal "drgdrgdrgdrggddrgdg"
End Sub

Hvordan du skal finne hwnd aner jeg ikke :p

 

Edit: Whops, leste feil, og trodde du skulle skrive, men det skulle du jo også :p

Endret av Jonas
Lenke til kommentar

ok, eg forstår, kor kan eg finna ei lista øve alle de komandoene? eg har prøvd MSDN, men eg fant ikkje så mye, kansje det bare e meg...:(

 

nesten ingen av komandoene virke jo:(

 

som f.eks

Ret = SendMessage(List1.hwnd, WM_DELETEITEM, 3, 0)

eller

Ret = SendMessage(List1.hwnd, LB_SETITEMDATA, -1, 0)

Endret av Richard87
Lenke til kommentar

Alle kommandoer som kan sendes til en listeboks skulle være å finne her.

 

Ellers tror jeg du kanskje har misforstått en smule. Man bruker ikke WM_DELETEITEM for å slette et element i en listeboks - til sådan benytter vi LB_DELETESTRING:

 

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const LB_DELETESTRING = &H182
Private Const LB_SETITEMDATA = &H19A

Public Function DeleteElement(hWnd As Long, Index As Long) As Long

   DeleteElement = SendMessage(lstTest.hWnd, LB_DELETESTRING, Index, ByVal 0&)

End Function

Public Function SetListData(hWnd As Long, Index As Long, Value As Long) As Long

   SetListData = SendMessage(lstTest.hWnd, LB_SETITEMDATA, Index, ByVal Value)

End Function

Private Sub cmdDelete_Click()

   ' Sletter det første elementet i listeboksen
   DeleteElement lstTest.hWnd, 0

End Sub

Private Sub cmdListData_Click()

   ' Setter variabel relatert til hver av de enkelte elementene til verdien 100
   SetListData lstTest.hWnd, 0, 100

End Sub

Endret av aadnk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...