Thema: Delphi ComboBox Hint onItem?

Einzelnen Beitrag anzeigen

kagi3624

Registriert seit: 3. Feb 2020
138 Beiträge
 
Delphi 6 Enterprise
 
#13

AW: ComboBox Hint onItem?

  Alt 23. Dez 2021, 15:58
Ich weiß zwar nicht was ich tue aber irgendwie scheint es so zu funktionieren

Code:
procedure TForm1.ApplicationIdle(sender: TObject; var Done: boolean);
var
  pt, pt2 : TPoint;
  wnd: HWND;
  buf: array[0..128] of Char;
  i : Integer;
begin

  GetCursorPos(pt);
  wnd := WindowFromPoint(pt);
  if wnd <> 0 then begin
    buf[0] := #0;
    GetClassName(wnd, buf, SizeOf(buf));
    if (StrIComp(buf, 'ComboLBox') = 0) then begin
      Windows.ScreenToClient(wnd, pt);
      i := SendMessage(wnd, LB_ITEMFROMPOINT, 0, lparam(PointToSmallpoint(pt)));
      if (i >= 0) and (i < 65536) then begin
        if (FHintIndex <> i) then begin
          SendMessage(wnd, LB_GETTEXT, i, integer(@buf));
          Sleep(500);
          GetCursorPos(pt2);
          Windows.ScreenToClient(wnd, pt2);
          StatusBar1.Panels[1].Text := inttostr(pt2.y);
          if (comboBox1.DroppedDown = true) and PointsEqual(pt,pt2) then begin
            GetCursorPos(pt);
            FHintWnd.ActivateHint(Rect(pt.X+10,pt.Y,pt.X+410,pt.Y+180), StandardHint[i]);
            FHintIndex := i;
          end;
        end;
      end;
    end;
  end;

end;
Die eine Punktkoordinate schreibe ich irgendwohin, damit es noch einmal updateted wird und lösche die dann später mit CloseUp.
  Mit Zitat antworten Zitat