026
19.03.2004, 14:49 Uhr
Tommix
|
Naja Du bastelst Dir einen Dialog, der wie der gewünschte Tooltip aussieht und schaltest unter "Format" "Titelleiste" ab. Dann erzeugst ganz normal eine Klasse dazu, sagen wir mal CPseudoToolTip und fügst eine Instanz in den Dialog mit dem Diagramm ein. In die OnInitDialog selbiger kommt etwas in der Art:
C++: |
m_toolTip.Create(IDD_TOOLTIP, this);
|
Bei mir ist Tooltip überall zu shen:
C++: |
void CToolTipTestDlg::OnMouseMove(UINT nFlags, CPoint point) { ClientToScreen(&point);
if (!m_toolTip.IsVisible()) m_toolTip.Show(point);
CDialog::OnMouseMove(nFlags, point); }
|
Du verwendest den Test, den Du schon hast. In der ToolTip-Klasse gibts dann:
C++: |
void CPseudoToolTip::Show(CPoint point) { SetWindowPos(&wndTopMost, point.x, point.y, 0, 0, SWP_NOACTIVATE | SWP_NOSIZE | SWP_SHOWWINDOW);
m_visible = true;
SetTimer(ID_TIMER, 1000, NULL); }
void CPseudoToolTip::Hide() { ShowWindow(SW_HIDE);
m_visible = false; }
void CPseudoToolTip::OnTimer(UINT nIDEvent) { Hide(); CDialog::OnTimer(nIDEvent); }
bool IsVisible() const { return m_visible; }
|
Das ist zwar arges Gebastele, aber eine "ordentliche" Methode kenne ich nicht.
Gruss, Tommix |