Thema: Delphi Implement ListView

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Implement ListView

  Alt 10. Jan 2017, 06:11
Hier findest du entsprechenden Code mit Erläuterungen:
https://de.m.wikibooks.org/wiki/Prog...elphi:_Pointer
Es fehlt vor der Verwendung lediglich die Reservierung des Speichers mit New und nach dem SendMessage die Freigabe mit Dispose.
Supi.. Sebastian hast mir sehr geholfen.

Delphi-Quellcode:
function TSkinListView.ListViewProc(WinHandle: hWnd; Msg: UINT; wP: WParam; lP: LParam): LRESULT;
begin

  case Msg of
    WM_LBUTTONDBLCLK:
      begin
        OldSelected := GetCurSel(WinHandle);
        new(MessageStructure);
        MessageStructure.hwndFrom := WinHandle;
        MessageStructure.idFrom := DlgItemID;
        MessageStructure.code := NM_DBLCLK;
        SendMessageW(GetParent(WinHandle), WM_NOTIFY, DlgItemID, LParam(MessageStructure));
        Dispose(MessageStructure);
        Result := 0;
        exit;
      end;
  end;
  Result := CallWindowProc(Pointer(FPrevClientProc), WinHandle, Msg, wP, lP);
end;
Jetzt kann ich mich mit den anderen Kram Ownerdraw usw. .beschäftigen.
Hab ich so groß noch nicht verwendet NEW.. man lernt immer was dazu.
Wann ist das grundsätzlich gegeben den Speicher mit NEW zu Reservieren?

gruss

Geändert von EWeiss (10. Jan 2017 um 06:36 Uhr)
  Mit Zitat antworten Zitat