Zitat:
Wenn Du LBS_OWNERDRAWFIXED auskommentierst irgendwie kein Wunder, das die MSG nicht kommt
Ja stimmt hab es im nachhinein auch bemerkt.
LBS_OWNERDRAWFIXED hat auch kein problem verursacht sondern das zeichnen des Text über
Delphi-Quellcode:
DTP.cbSize := SizeOf(DTP);
DrawTextEx(PDis.hDC, ItemText, l, PDis.rcItem, DT_LEFT
or DT_VCENTER or DT_SINGLELINE, @DTP);
DrawTextEx will irgendwie nicht.
Hab mal ne kleine Anwendung in VB gemacht um das gegen zu prüfen da funktioniert alles
Unter Delphi will das nicht.
verwende jetzt
Delphi-Quellcode:
ExtTextOut(PDis.hDC, 1 + PDis.rcItem.left,
PDis.rcItem.Top, ETO_OPAQUE,
@PDis.rcItem, PAnsiChar(ItemText), Length(ItemText), nil);
anstelle dessen.
Die Frage ist nur was besser ist.
Zitat:
Du kannst
IMHO Windows nicht direkt zwingen so eine Nachricht zu generieren, das macht es, wenn was neu zu zeichnen ist.
Das ist klar ... hab mir schon gedacht das was fehlt siehe LBS_NOTIFY in verbindung mit LBN_DBLCLK
Geht ohne LBS_NOTIFY auch nicht
Zitat:
So mal geraten, der Ärger hat mit fehlendem WM_MEASUREITEM zu tun?
Benötige ich nur für das Menü und ist vorhanden.
Die Proc in der ListBox hab ich rausgeschmissen und leite die SubClass jetzt direkt auf
die Winproc der mainform um.
gruss Emil
EDIT:
Noch ein pic
Nur noch ein Bitmap für den Hintergrund der Listbox dann ist es fertig
Und noch was an den farben machen.