Einzelnen Beitrag anzeigen

blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Tooltip akzeptiert kein WideString

  Alt 24. Aug 2014, 23:39
Hallo!

Ich benutze Delphi7 das ja noch keine echte Wide-Unterstützung hat und hätte gerne einen Tooltip, der einen WideString anzeigen kann. Dazu benutze ich folgenden Code:

Delphi-Quellcode:
var
   toolTip: HWND;
   toolInfo: TOOLINFOW;


function CreateToolTip(hControl: HWND; text: PWideChar): HWND;
const
   TOOLTIPS_CLASSW: PWideChar = 'tooltips_class32';
begin
   Result := CreateWindowExW(
         WS_EX_TOPMOST, TOOLTIPS_CLASSW, '',
         WS_POPUP or TTS_NOPREFIX or TTS_ALWAYSTIP,
         CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
         0, 0, HInstance, nil);
   if Result <> 0 then begin
      with toolInfo do begin
         cbSize := SizeOf(toolInfo);
         uFlags := TTF_SUBCLASS or TTF_IDISHWND;
         uId := hControl;
         hInst := HInstance;
         lpszText := text;
         lParam := 0;
      end;
      SendMessageW(Result, TTM_ADDTOOL, 0, LPARAM(@toolInfo));
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   toolTip := CreateToolTip(TntDrawGrid1.Handle, 'test');
end;
Trotzdem will der Tooltip nur AnsiStrings akzeptieren, bei einem WideString wird nur das erste Zeichen angezeigt...

Was mache ich falsch?

Grüße
blablab
  Mit Zitat antworten Zitat