![]() |
| im Hint anzeigen
Zitat:
aber leider schneidet Delphi ab Diesem den Text ja nun ab ... gibt es da überhaupt einen Weg dieses dennoch anzeigen zu lassen? [add] ich dachte erst mein mehrzeiliger Hinttext sei zu lang :? |
Re: | im Hint anzeigen
Evtl. eigene Implementierung des Hintfensters verwenden? Das ElPack von LMD hat sowas (um Unicode auch vor D2009 un HTML im Hint zu unterstützen)
|
Re: | im Hint anzeigen
Ich hatte mir grad mal TCustomHint.ShowHint(Control: TControl); angesehn und dieses läßt sich leider nicht überschreiben. Ja und gerade diese Funktion wird ja durch die VCL aufgerufen,
also selbst wenn ich da eine andere Hint-Klasse registriere, komm ich nicht an den kompletten Hint-Text ran :cry: function GetShortHint(const Hint: string): string; aus der Unit Controls könnte ich noch versuchen irgendwie zu ersetzen. (ich glaub da gab's doch sowas mit Hooks, aber ob das hier geht, weiß ich grad nicht ... muß mal suchen, wo hier der Thread zu sowas nochmal war) Alternativ wären noch 2 Möglichkeiten übrig:
|
Re: | im Hint anzeigen
Evtl. so wie bei && > & und '' > ' einfach verdoppeln?
Also Sowas: Zitat:
|
Re: | im Hint anzeigen
||, \| und Co. ... so schlau war ich auch schon, aber selbst nach näherem Hinsehn, gibt's da keine Maskierung :?
Delphi-Quellcode:
und
function GetShortHint(const Hint: string): string;
var I: Integer; begin I := AnsiPos('|', Hint); if I = 0 then Result := Hint else Result := Copy(Hint, 1, I - 1); end;
Delphi-Quellcode:
ich wollte doch nur im Hint angeben, was es für Möglichkeiten bei der Maske gibt :cry:
procedure TCustomHint.ShowHint(Control: TControl);
var Pos: TPoint; Index: Integer; begin if Control.Hint = '' then Exit; Index := AnsiPos('|', Control.Hint); //Do Not Localize Title := GetShortHint(Control.Hint); if Index <> 0 then Description := GetLongHint(Control.Hint) else Description := ''; ... also im LongHint wäre ein | möglich, da ja nur das Erste ausgewertet wird, aber im Hint angezeigt wird ja nur der ShortHint. |
Re: | im Hint anzeigen
Kann man sowas vielleicht mit dem ASCII-Zeichensatz hinbekommen?
Delphi-Quellcode:
Ungetestet und geraten. Evtl. ist es völliger Blödsinn.
Edit1.Hint := 'Name' + #124 + 'Geben Sie den Namen in das Eingabefeld ein';
Grüße, Matze |
Re: | im Hint anzeigen
Ich habe mal irgend wo (
![]() Das "überschreibt" die normalen Hints und zeigt auch '|' im Hilfetext an. Evtl. kannste das ja an deine Wünsche anpassen oder dich davon inspirieren lassen. ^^ (oder 1:1 verwenden ^^)
Delphi-Quellcode:
EDIT: ups ... zu viel kopiert ^^
procedure ShowBalloonTip(Control: TWinControl; Icon: integer; // benötigt 'Commctrl' (uses)
Title: pchar; Text: PWideChar; BackCL, TextCL: TColor); {ShowBalloonTip(Button1, 1, 'Title', 'Balloontiptext', clBlue, clNavy);} procedure ShowBalloonTip(Control: TWinControl; Icon: integer; Title: pchar; Text: PWideChar; BackCL, TextCL: TColor); const TOOLTIPS_CLASS = 'tooltips_class32'; TTS_ALWAYSTIP = $01; TTS_NOPREFIX = $02; TTS_BALLOON = $40; TTF_SUBCLASS = $0010; TTF_TRANSPARENT = $0100; TTF_CENTERTIP = $0002; TTM_ADDTOOL = $0400 + 50; TTM_SETTITLE = (WM_USER + 32); ICC_WIN95_CLASSES = $000000FF; type TOOLINFO = packed record cbSize: Integer; uFlags: Integer; hwnd: THandle; uId: Integer; rect: TRect; hinst: THandle; lpszText: PWideChar; lParam: Integer; end; var hWndTip: THandle; ti: TOOLINFO; hWnd: THandle; begin hWnd := Control.Handle; hWndTip := CreateWindow(TOOLTIPS_CLASS, nil, WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP, 0, 0, 0, 0, hWnd, 0, HInstance, nil); if hWndTip <> 0 then begin SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); ti.cbSize := SizeOf(ti); ti.uFlags := TTF_CENTERTIP or TTF_TRANSPARENT or TTF_SUBCLASS; ti.hwnd := hWnd; ti.lpszText := Text; Windows.GetClientRect(hWnd, ti.rect); SendMessage(hWndTip, TTM_SETTIPBKCOLOR, BackCL, 0); SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, TextCL, 0); SendMessage(hWndTip, TTM_ADDTOOL, 1, Integer(@ti)); SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4, Integer(Title)); end; end; |
Re: | im Hint anzeigen
Du könntest ja einfach "Hint >> Bla bla" nehmen und beim Zeichnen dann >> durch | ersetzen. Das Zeichen lässt sich ja mittels HintWindow-Klassen personalisieren...
Viele Grüße |
Re: | im Hint anzeigen
Zitat:
Zitat:
|
Re: | im Hint anzeigen
Zitat:
Zitat:
google Es wurden keine mit Ihrer Suchanfrage - | - übereinstimmenden Dokumente gefunden. Vorschläge: * Probieren Sie andere Suchbegriffe. also bis jetzt hatte ich es noch nie geschaft, daß mir google absolut nix liefert ... is also 'ne Premiere für mich ... sonst kommt ja wenigstens noch sowas google Meinten Sie: ..... Es wurden keine Standard-Webseiten gefunden, in denen alle eingegebenen Suchbegriffe vorkommen. Es wurden keine mit Ihrer Suchanfrage - ..... - übereinstimmenden Dokumente gefunden. Vorschläge: * Vergewissern Sie sich, dass alle Wörter richtig geschrieben sind. * Probieren Sie andere Suchbegriffe. * Probieren Sie allgemeinere Suchbegriffe. Also das mit dem BalloonTip wäre eine Möglichkeit und sieht bestimmt nicht schlecht aus. Nur selbst einblenden ... hab grad keine Ahnung wie ich das machen sollte (also auf welches Ereignis hin), aber ich denk da läßt sich was machen, wenn ich im HintText das Zeichen Kodiere und dann beim Anzeigen umwandel ... aber so oder so (andere Hintklasse oder ToolTip) ich werd wohl etwas "eigenes" registrieren müssen :? (also eine Maskierungsmöglichkeit für das | im HintText, seitens Delphi, wäre schon besser gewesen :evil: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz