Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi BallonTip wie in der TNA auf der Form (https://www.delphipraxis.net/38704-ballontip-wie-der-tna-auf-der-form.html)

Radioactive 23. Jan 2005 10:07


BallonTip wie in der TNA auf der Form
 
Hi,

wie lässt man einen Ballon-Tip wie er in der TNA manchmal erscheint, auf einer Form erscheinen (also so einen mit "bubb", keinen Tool(Ballon)Tip!)?
Es müsste möglich sein, es gibt z.B. von Pinacle so ein kleines Fenster rechts unten am Bildschirm, wo man daten Draufziehen kann und die dann direkt gebrannt werden, und das zeigt bei jedem Start einen solchen BallonTip an.

Radioactive

Dani 23. Jan 2005 11:28

Re: BallonTip wie in der TNA auf der Form
 
Hi, die JVCL enthält eine Komponente, die das kann (TJvBalloonHint oder so)

zebrafalke 16. Jul 2006 15:12

Re: BallonTip wie in der TNA auf der Form
 
Weiß nicht ob es das ist was du suchst, aber das hier funzt bei mir:

Delphi-Quellcode:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, commctrl, StdCtrls,ExtCtrls, JvComponentBase, JvBalloonHint;

type
  TForm1 = class(TForm)
    JvBalloonHint1: TJvBalloonHint;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
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;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowBalloonTip(Button1, 5, pchar('Button1'),
  'Das ist der Balloon Tip!', clBlue, clNavy);
end;

end.
gruss
zebrafalke


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz