Richard87 Skrevet 6. mars 2005 Del Skrevet 6. mars 2005 (endret) kossen kan eg lesa (eventuelt skriva) te en listbox i et annet programm? Endret 6. mars 2005 av Richard87 Lenke til kommentar
Jonas Skrevet 6. mars 2005 Del Skrevet 6. mars 2005 (endret) 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 Edit: Whops, leste feil, og trodde du skulle skrive, men det skulle du jo også Endret 6. mars 2005 av Jonas Lenke til kommentar
Richard87 Skrevet 6. mars 2005 Forfatter Del Skrevet 6. mars 2005 (endret) 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 6. mars 2005 av Richard87 Lenke til kommentar
aadnk Skrevet 7. mars 2005 Del Skrevet 7. mars 2005 (endret) 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 7. mars 2005 av aadnk Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå