Entwickler-Ecke

Windows API - Tooltip Bubble


matze - Sa 27.07.02 17:29
Titel: Tooltip Bubble
Hat jemand eine kostenlose Kompo mit der die normalen Tooltips bei Objekten als Sprechblase oder sonst irgendwie besonders angezeit wird ??


cbs - Sa 27.07.02 17:31

tag auch

hier sind lösungen zu deinem problem: ZoneAlarm Like [http://www.auq.de/viewtopic.php?t=1009]


matze - Sa 27.07.02 17:35

nö, ich wills ja nicht für ein TrayIcon sondern für z.B. Buttons usw....


cbs - Sa 27.07.02 17:54

Zitat:
nö...

sorry für die übereilte antwort


matze - Sa 27.07.02 18:11

kein probelm !!!

aber eine lösung für meine frage haste nich oder ??


cbs - Sa 27.07.02 18:22

nee, aber bestimmt die andern user hier

swissdelphicenter.ch hat das als tipps:

- schattierte Hints anzeigen (XP) [http://www.swissdelphicenter.ch/de/showcode.php?id=1182]
- die Schriftart der Hints ändern [http://www.swissdelphicenter.ch/de/showcode.php?id=3]
- 2 zeilige Hints erstellen [http://www.swissdelphicenter.ch/de/showcode.php?id=2]

aber ballon hints (noch nie gehört oder gelesen)


matze - Sa 27.07.02 20:15

aber es gibt sie, die misteriösen baloon hints..... Irgenwo da draußen in den weiten der I-Nets ( so erzählt man sich ) existiert eine lösung.....

so: soweit mal unsere gruselgeschichte !!


GPF - Sa 27.07.02 23:28

Beispiele wie Du Hints anpassen kannst findest Du unter http://www.undu.com und auf http://homepages.borland.com/torry/hints.htm. Auf Torry ist auch die gesuchte Komponente im Quelltext zu finden (TOffice97 Balloon v.1.2).

MfG
GPF


Delete - So 28.07.02 08:26

matze hat folgendes geschrieben:
aber es gibt sie, die misteriösen baloon hints...

http://www.delphipraxis.de/viewtopic.php?t=420 z.B.

Für die "richtigen" Tooltipps geht das auch, s. hier [http://www.luckie-online.de/delphi/tutorials/tooltips.shtml].


matze - So 28.07.02 12:57

das bei luckie online wäre genau das was ich brauche !!!

allerdings kapier ich nicht so ganz, wie ich das umsetzen soll !!!


Alfons-G - So 28.07.02 13:51

Hi,
wenn es denn eine extra Komponente sein sollte, die gibt's als Bestandteil der LMD-Tools. Diese kannst Du von allem bekannten Downloadseiten bekommen.
Das lohnt sich allerdings nur, wenn Du auch mal die eine oder andere Kompo dieser Biblithek benötogst, der Download hat 8 MB. Der LMD-Hint hat allerdings auf Formularen, welche mit einer Grafik (vor Allem TImage) hinterlegt sind, deutlich Performance-Probleme.
Also auf Standard-Formularen ohne Schwierigkeiten, über Grafiken :?

:idea:


Delete - So 28.07.02 14:09

matze hat folgendes geschrieben:
das bei luckie online wäre genau das was ich brauche !!!

allerdings kapier ich nicht so ganz, wie ich das umsetzen soll !!!

Gut, zugestanden! Luckie programmiert hauptsächlich NonVCL, und eine seiner Grundbedingungen (:wink:) war auch, dass jedes neue Tutorial hauptsächlich für NonVCL gedacht ist.

Wenn du Zugriff auf die Borland-Sourcen hast (ab Pro-Version), dann suche dir doch mal die Hint-Funktion raus und ergänze notfalls diese Balloon-Flags und was du so brauchst. Ich denke mal, Borland nutzt auch die normalen System-Tipps. Nur fehlen dort sicher auch die neuen Flags, weswegen bei NonVCL ja auch ein paar Änderungen in der "CommCtrl.pas" notwendig waren.

Ich weiß aber von Luckie, dass du das Tooltipp-Beispiel auch problemlos in ein VCL-Programm übernehmen kannst. Nur solltest du dann die Hints der Buttons usw. nicht benutzen, sonst zeigt das Programm beides an. :-)

Ich hab´s selbst nicht ausprobiert, weil ich diese Balloon-Tooltipps blöd finde. Die Balloons von TNA-Icons sehen besser aus (IMHO).

@Alfons_G: ich glaube, dann wären wohl die System-Tipps zu bevorzugen. Die Funktionalität steckt im OS drin, und - eine aktuelle DLL vorausgesetzt - kann man auch solche Balloon-Spielereien damit machen. :-)


matze - So 28.07.02 15:43

@ Alfons-G: Ja die kompo ist zwar in den LMD-Tools !!! Aber nicht im kostenlosen Pack !!!


Delete - So 28.07.02 18:49

Hier ist eine kostenlose Lösung für VCL-Programme:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
uses
  CommCtrl;

var
  hTippWnd : HWND;

//
// aus dem Tooltipp-Tutorial
//
procedure AddToolTip(wnd: HWND; hInst: longword; lpText: pchar);
var
  ti : TToolInfo;
  r  : TRect;
begin
  if(wnd <> 0) and (GetClientRect(wnd,r)) then
    begin
      fillchar(ti,sizeof(TToolInfo),0);

      ti.cbSize   := sizeof(TToolInfo);
      ti.uFlags   := TTF_SUBCLASS or TTF_IDISHWND;
      ti.hwnd     := wnd;
      ti.uId      := wnd;
      ti.Rect     := r;
      ti.hInst    := hInst;
      ti.lpszText := lpText;

      SendMessage(hTippWnd,TTM_ADDTOOL,0,integer(@ti));
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  hTippWnd := CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, nil,
    TTS_ALWAYSTIP or TTS_NOPREFIX or WS_POPUP or TTS_BALLOON,
    integer(CW_USEDEFAULT), integer(CW_USEDEFAULT), integer(CW_USEDEFAULT),
    integer(CW_USEDEFAULT), self.Handle, 0, hInstance, nil);

  if(hTippWnd <> 0) then
    begin
      SetWindowPos(hTippWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
        SWP_NOSIZE or SWP_NOACTIVATE);

      AddToolTip(Button1.Handle,hInstance,'Test-Balloon');
    end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DestroyWindow(hTippWnd);
end;

Macht aber nur Sinn, wenn du die "CommCtrl.pas" so modifizierst wie im Tooltipp-Tutorial beschrieben. Und wie gesagt, die Eigenschaft "ShowHint" solltest du abschalten, sonst kommt es zu dem Phänomen, dass ein Button z.B. beide Tipps anzeigt. Den originalen, den Delphi zur Verfügung stellt, und den Balloon-Tipp.


matze - So 28.07.02 20:25

danke @ alle !!! :D :D


|Harry| - Mo 29.07.02 20:38

kauf dir noch schnell die aktuelle PC-MAgazin.....da steht glaube ich was dazu drin.... :lol:
ist aber schonnen monat her, kann mich auch täuschen *g*