Tooltipps aktivieren und deaktivieren


Tooltipps lassen sich auch während des Programmlaufes vorübergehend aus- und wieder einschalten. Das gilt aber generell für alle Tooltipps. Das Beispiel demonstriert dies mit Hilfe einer Checkbox. Standardmäßig sind die Tipps aktiviert. Wenn Sie das Häkchen aus der Checkbox entfernen, werden sie deaktiviert. Zu diesem Zweck nutzen wir die Nachricht TTM_ACTIVATE.
Als WPARAM geben wir true an, wenn die Tipps aktiviert sein sollen; und false, wenn sie deaktiviert sein sollen. Die Prüfung unserer Checkbox lautet daher also:

bFlag := SendMessage(hCheckBox,BM_GETCHECK,0,0) = BST_CHECKED;

Den so ausgelesenen Status senden wir mit Hilfe der o.g. Nachricht an unser Tooltipp-Fenster:

SendMessage(hToolTip,TTM_ACTIVATE,integer(bFlag),0);



Tooltipps entfernen

Wenn Sie einen Tooltipp dauerhaft entfernen wollen, dann verwenden Sie dazu die Nachricht TTM_DELTOOL. Das TToolInfo-Record erwartet von Ihnen die gültige Angabe des Control- bzw. Fenster-Handles, dessen Tipp Sie entfernen wollen. Das Beispielprogramm verwendet diese Funktion nicht, aber eine Aufrufmöglichkeit könnte so aussehen:

// Strukturgröße festlegen
ti.cbSize   := sizeof(TToolInfo);
// das Handle des Eingabefeldes, // & die Anwendungsinstanz ti.hwnd := hEdit; ti.hInst := hInstance;
// Tooltipp entfernen SendMessage(hToolTip,TTM_DELTOOL,0,integer(@ti));

Alle anderen Tooltipps bleiben davon unberührt. Es würde tatsächlich nur der Tipp unseres Eingabefeldes entfernt werden.