Einzelnen Beitrag anzeigen

Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: TEdit: Hint bei zu großen Einträgen

  Alt 9. Sep 2004, 13:54
ich würd mir erst mal ne TApplicationEvent kompo aufs formular holen, und dann im OnShowHint ereignis etwas in dieser richtung eintragen:
Delphi-Quellcode:
procedure TFormX.ApplicationEventsShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo);
const BS: array[TBorderStyle] of Byte = (0,4);//bei bsSingle ist der Anzeigebereich des Edit 4 Pixel kleiner
begin
  if HintInfo.HintControl is TEdit then begin //nur wenn Sender is TEdit, sonst standartverarbeitung
    with Application.MainForm.Canvas do begin //mittels Canvas.TextWidth breite des textes rauskriegen
      Font := TEdit(HintInfo.HintControl).Font;//dafür Font übertragen
      if TextWidth(TEdit(HintInfo.HintControl).Text) >
      TEdit(HintInfo.HintControl).Width -
      BS[TEdit(HintInfo.HintControl).BorderStyle] then //ist Text wirklich länger?
        HintStr := TEdit(HintInfo.HintControl).Text; //falls ja, den angezeigten Text verändern
    end;
  end;
end;
auch schon getestet, funzt soweit

Edit: natürlich muss dann das ShowHint des Edit auf True stehen
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat