B
Hallo,
nochmals vielen Dank für die Hilfe. Habe eine Möglichkeit gefunden, meine Wünsche zu verwirklichen. Ich gehe davon aus, wenn ihr meine Lösung lest, das ihr die Hände über dem Kopf .....
void __fastcall TListBoxEx::wmMouseMove(TMessage& Msg)
{
//
//
TPoint CursorPoint; // aktueller Punkt des Mauscursors
GetCursorPos(&CursorPoint); // Cursor ermitteln
CursorPoint = ScreenToClient(CursorPoint); // Cursor auf dieses Control umrechnen
int CursorIndex = ItemAtPos(CursorPoint, true); // Item unter Cursor ermitteln
// Wenn Item unter Cursor vorhanden, dieses neu zeichnen
if (CursorIndex != -1)
{
//************************************************************
// OnMouseMove Ereignis auswerten
if (OnMouseMove) OnMouseMove(this, TShiftState(), 0, CursorIndex);
//************************************************************
TRect Rect = ItemRect(CursorIndex);
DrawItem(CursorIndex, Rect, GetItemState(CursorIndex));
}
// Wenn vor dem Aufruf ein anderes Item hervorgehoben war, dieses
// ermitteln und neu ohne Vorhebung zeichnen
if ((iLastIndex != CursorIndex) && (iLastIndex > -1))
{
TRect Rect = ItemRect(iLastIndex);
int Buffer = iLastIndex;
iLastIndex = CursorIndex;
DrawItem(Buffer, Rect, GetItemState(Buffer));
}
iLastIndex = CursorIndex; // neuen Index übernehmen
}
//---------------------------------------------------------------------------
Wenn auch meine Möglichkeit getrickst ist, hat es mir den Erfolg gebracht.
Über "Dispatch" können wir uns später unterhalten. Ich arbeite mit C++ seit etwa 6 Monate, komme aus der untersten Ebene über VB6 zu C++. Also muß ich sehr gut zuhören, was man mir vorschlägt. Es kann nur besser werden.
bis bald
Siegfried