<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Infofenster oder Sprechblasen]]></title><description><![CDATA[<p>Hallo,<br />
habe ein nettes Programm geschrieben und wollte zur Krönung noch etwas hinzufürgen. Jeder kennt dass, wenn man Wondows 2000 oder XP user ist. Geht man über ein Button oder Objekt einer Graphischen Oberflache wird (nicht immer) eine Gelbe Blase oder wie im Borland Developer Studio 2006 ein gelbes Infofenster geöffnet in dem gelegentlich auch sehr nützliche Informationen stehen können. Das Geleich wollte ich nun auch in meinem Programm einbinden.<br />
Meine Fragen an euch sind:<br />
1. Bietet das Developer Studio da schon etwas an?<br />
2. Wenn ja, wo finde ich das oder unter was muss ich in der BCB-Hilfe suchen (habe es noch nicht gefunden)?<br />
3. Wie binde ich es ein?</p>
<p>Ich danke euch schon jetzt im voraus für negative und positive Posts.<br />
Gruß :xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167545/infofenster-oder-sprechblasen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:11:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167545.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Dec 2006 12:35:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 12:35:45 GMT]]></title><description><![CDATA[<p>Hallo,<br />
habe ein nettes Programm geschrieben und wollte zur Krönung noch etwas hinzufürgen. Jeder kennt dass, wenn man Wondows 2000 oder XP user ist. Geht man über ein Button oder Objekt einer Graphischen Oberflache wird (nicht immer) eine Gelbe Blase oder wie im Borland Developer Studio 2006 ein gelbes Infofenster geöffnet in dem gelegentlich auch sehr nützliche Informationen stehen können. Das Geleich wollte ich nun auch in meinem Programm einbinden.<br />
Meine Fragen an euch sind:<br />
1. Bietet das Developer Studio da schon etwas an?<br />
2. Wenn ja, wo finde ich das oder unter was muss ich in der BCB-Hilfe suchen (habe es noch nicht gefunden)?<br />
3. Wie binde ich es ein?</p>
<p>Ich danke euch schon jetzt im voraus für negative und positive Posts.<br />
Gruß :xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190565</guid><dc:creator><![CDATA[USER WITHOUT MUSE]]></dc:creator><pubDate>Tue, 12 Dec 2006 12:35:45 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 12:47:40 GMT]]></title><description><![CDATA[<p>Ich denke das müsste vor Allem in WinAPI zu finden sein. Ich schieb dich mal entsprechend weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190574</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Tue, 12 Dec 2006 12:47:40 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 12:47:50 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=2974" rel="nofollow">junix</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=2" rel="nofollow">VCL/CLX (Borland C++ Builder)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190575</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 12 Dec 2006 12:47:50 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 13:27:24 GMT]]></title><description><![CDATA[<p>IM BCB müsste für die Komponenten im ObjektInspektor die Eigenschaft <em>Hint</em> existieren. Zusätzlich muss noch die Eigenschaft <em>ShowHint</em> auf wahr gestellt werden.</p>
<p>Mit der WinAPI geht es mit der Fensterklasse <em>TOOLTIPS_CLASS</em>. Siehe dazu auch meine Win32-API Tutorials für Delphi: <a href="http://www.michael-puff.de/dirindex.php?folder=Developer/Delphi/Tutorials/Win32API_Tutorials/" rel="nofollow">http://www.michael-puff.de/dirindex.php?folder=Developer/Delphi/Tutorials/Win32API_Tutorials/</a> Kapitel 3.3. Ist zwar für Delphi aber die APIs sind die selben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190605</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Tue, 12 Dec 2006 13:27:24 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 13:35:35 GMT]]></title><description><![CDATA[<p>Man könnte auch Komponenten dafür verwenden. z.Bsp. die <a href="http://www.lmdtools.com/" rel="nofollow">LMD-Tools</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190608</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Dec 2006 13:35:35 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 13:48:04 GMT]]></title><description><![CDATA[<p>Ich denke er sucht vor Allemn nach dieser &quot;baloon help&quot; oder wie das auch immer genannt wird...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190616</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Tue, 12 Dec 2006 13:48:04 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 14:00:13 GMT]]></title><description><![CDATA[<p>Hey, erstmal danke für die tips von euch.<br />
Das ist super. Problem ist mein StringGrid. Irgendwie verwenden das sehr viele, deshalb habe ich das auch genommen. Bei Buttons oder diversen anderen Elemnten kann ich die Hints nutzen. Leider ist das bei einzelnen Zellen des TStringGrids nicht so einfach. Daher wollte ich es bei Anklicken der Zelle ermöglich, dass hier ein Tip kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190625</guid><dc:creator><![CDATA[USER WITHOUT MUSE]]></dc:creator><pubDate>Tue, 12 Dec 2006 14:00:13 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 14:45:25 GMT]]></title><description><![CDATA[<p>erstmal die commoncontrols initialisieren, dann</p>
<p>HWND hwndBallonTip = CreateWindowEx( WS_EX_TOPMOST, TOOLTIPS_CLASS, _T(&quot;&quot;), WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP | TTS_BALLOON, x, y, width, height, hParent, NULL, hInst, NULL );</p>
<p>Danach mit den Tooltip-Messages arbeiten</p>
<p>TStringGrid klingt mir nach Delphi ? Irgendwann hatte ich mal so ne Blubberblasenkompo dafür geschrieben; weis nur nimmer wo ich die hin hab</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190662</guid><dc:creator><![CDATA[ZurArbeitVerdammt]]></dc:creator><pubDate>Tue, 12 Dec 2006 14:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 14:47:02 GMT]]></title><description><![CDATA[<p>Delphi Lösung:</p>
<pre><code>procedure TForm1.FormCreate(Sender: TObject);
begin
  StringGrid1.ShowHint := True;
  StringGrid1.Cells[1,1] := '1';
  StringGrid1.Cells[1,2] := '2';
end;

procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  Column, Row: Longint;
  s: String;
begin
  StringGrid1.MouseToCell(X, Y, Column, Row);
  s := StringGrid1.Cells[Column, Row];
  StringGrid1.Hint := s;
end;
</code></pre>
<p>Angezeigt wird der Inhalt der Zelle als Tooltip.</p>
<p>Sollte sich auch nach C++ für den BCB umsetzen lassen. Den BCB habe ich jetzt leider nicht hier.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190663</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Tue, 12 Dec 2006 14:47:02 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 21:38:58 GMT]]></title><description><![CDATA[<p>Hab mal gebastelt:</p>
<p>Voila:</p>
<pre><code class="language-cpp">HWND CreateTooltip(HWND hWND, const PTCHAR pszDisplayText, bool fBalloonStyle, bool fMultiLine)
{
	if(!IsWindow(hWND))
		return (NULL);

     // ....Objekt spezifiziert die Kontroll-Klassen die über InitCommonControlsEx() registriert werden....
    INITCOMMONCONTROLSEX INITccEX; 
    HWND hWNDToTT; // &lt;- Handle zum ToolTip(TT)-Wnd
	// ....Info-Struktur für den ToolTip....
    TOOLINFO ti;

    RECT rcClient; // &lt;- enthält die gesamte Fenstergröße

    // ....Common Controls registrieren....
    INITccEX.dwICC  = ICC_WIN95_CLASSES;
    INITccEX.dwSize = sizeof(INITCOMMONCONTROLSEX);
    if(!InitCommonControlsEx(&amp;INITccEX))
		return (NULL);

	DWORD dwStyle = WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP;
	if(fBalloonStyle)
		dwStyle |= TTS_BALLOON;

    // ....ToolTip erzeugen....
    hWNDToTT = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL,
							  dwStyle, CW_USEDEFAULT, CW_USEDEFAULT,
							  CW_USEDEFAULT, CW_USEDEFAULT, hWND,
							  NULL, GetModuleHandle(NULL), NULL);

    // ....Handle überprüfen....
	if(!IsWindow(hWNDToTT))
		return (NULL);

	// ....Eigenschaften festlegen....
    if(!SetWindowPos(hWNDToTT, HWND_TOPMOST, 0, 0, 0, 0,
					 SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE))
		return (NULL);

    // ....rcClient mit Client Area Größe initialisieren....
    if(!GetClientRect(hWND, &amp;rcClient))
		return (NULL);

	// ....Elemente von ti initialisieren....
    ti.cbSize       = sizeof(TOOLINFO);
    ti.uFlags       = TTF_SUBCLASS;
    ti.hwnd         = hWND;
    ti.hinst        = NULL;
    ti.uId          = 0;
    ti.lpszText     = (fMultiLine ? LPSTR_TEXTCALLBACK : pszDisplayText);
    // ....rect als Bereich (in dem man sich den TT anzeigen lassen kann) angeben....
    ti.rect.left     = rcClient.left;    
    ti.rect.top      = rcClient.top;
    ti.rect.right    = rcClient.right;
    ti.rect.bottom   = rcClient.bottom;

    // ....TTM_ADDTOOL an hWNDToTT senden....
    if(!SendMessage(hWNDToTT, TTM_ADDTOOL, 0, reinterpret_cast&lt;LPARAM&gt;(&amp;ti)))
		return (NULL);

	return (hWNDToTT);
}
</code></pre>
<p>Wenn Du im letzten Parameter (fMultiLine) <em>true</em> übergibst, musst Du zusätzlich einen Message-Handler für <a href="http://msdn2.microsoft.com/en-us/library/ms672614.aspx" rel="nofollow">WM_NOTIFY</a> in Deiner Wnd-Proc einfügen, der sieht so aus:</p>
<pre><code class="language-cpp">// ...
		case WM_NOTIFY: {
			// Zeiger auf Info-Strukur der Nachricht ermitteln:
			LPNMHDR pNmHdr = reinterpret_cast&lt;LPNMHDR&gt;(lParam);
			switch(pNmHdr-&gt;code)
			{
				case TTN_GETDISPINFO: {
					// Zeiger auf Tooltip-Info-Strukur ermitteln:
					LPNMTTDISPINFO pTTd = reinterpret_cast&lt;LPNMTTDISPINFO&gt;(pNmHdr);
					SendMessage(pNmHdr-&gt;hwndFrom, TTM_SETMAXTIPWIDTH, 0, uiToolTipWidth); //[h]1[/h] [*]
					pTTd-&gt;lpszText = szToolTipText; //[h]2[/h] &lt;- (langen) Text setzen
					} break; // bzw. return (0L);
			}
			} break; // bzw. return (0L);
// ...
</code></pre>
<p><sup>1</sup> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <em>szToolTipText</em> ist hier der mehrzeilige, beliebig-lange Text.<br />
<sup>2</sup> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <em>uiToolTipWidth</em> ist die Breite des ToolTip-Fensters.</p>
<p>[*] <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Diese Zeile ist optional <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
<p><strong>Noch ein Hinweis:</strong><br />
Wenn bei Euch die Konstanten (z.B.: <em>TTS_BALLOON</em>) nicht definiert, liegt das an einer veralteten SDK. Man kann den Fehler aber (wenigstens provisorisch) mit folgenden Präprozessor-Anweisungen beheben:</p>
<pre><code class="language-cpp">#ifndef TTS_BALLOON
  #define TTS_BALLOON 0x41
#endif // TTS_BALLOON
</code></pre>
<p><strong>Hier noch ein Informationslink zur MSDN:</strong><br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp" rel="nofollow"><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Using ToolTip-Controls.</a></p>
<p>Zum Schluss noch die Frage:<br />
Wäre das eventuell was für FAQ ?</p>
<p>PS: Funktionen <strong>sind getestet</strong> und sollten funktionieren ;).</p>
<p>EDIT: Noch n bissl deutlicher hervorgehoben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190670</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 12 Dec 2006 21:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to Infofenster oder Sprechblasen on Tue, 12 Dec 2006 16:00:30 GMT]]></title><description><![CDATA[<p>Sieht sehr gut aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
Wenn es fertig diskutiert ist, werde ich (oder ein anderer Mod) es zu den FAQ verschieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190714</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 12 Dec 2006 16:00:30 GMT</pubDate></item></channel></rss>