내 프로그램은 윈도우 빌드 - 풍선 툴팁을 많이 사용하게하지만, 일부 시스템에서 그들은 단지 표시되지 않습니다 볼 경우 감지. 이것은 매우 다양한 원인을 가질 수 있습니다 (예 : EnableBalloonTips, ShowInfoTip, DisablePreviewDesktop, TaskbarNoNotification은 모두 영향을 미칠 수있는 다른 레지스트리 키입니다). 설치 중에 해당 설정을 수정할 가능성이 거의 없습니다.풍선 툴팁
그래서 대안은 단순히 풍선이 보이는지 테스트하고 그렇지 않은 경우 지원 담당자에게 연락해야한다는 메시지를 표시하는 것입니다. 그러나 도구 설명 (IsWindowVisible, GetActiveWindow 등)의 hWnd에 사용하는 모든 메서드는 풍선이 보이지 않는 경우에도 풍선이 표시되도록 반환합니다. 나는 이것이 부모의 hWnd를 풍선에 할당하는 Windows와 관련이 있다고 의심하기 때문에 실제로 어떻게 올바르게 표시되는지 확인할 수 있습니까?
Public Sub Create(ByVal hWndParent As Long, _
Optional ByVal bAlwaysTip As Boolean = True, _
Optional ByVal bBalloonTip As Boolean = True)
Dim nFlags As Long
' Wir möchten kein normales Fenster :-)
nFlags = WS_POPUP Or TTS_NOPREFIX
' Falls der ToolTip auch bei deaktiviertem
' Control erscheinen soll...
If bAlwaysTip Then nFlags = nFlags Or TTS_ALWAYSTIP
' Falls ein "moderner" Balloon-ToolTip erwünscht...
If bBalloonTip Then nFlags = nFlags Or TTS_BALLOON
' Window-Handle erstellen
m_hWnd = CreateWindowEx(0, "tooltips_class32", 0, _
nFlags, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, _
CW_USEDEFAULT, hWndParent, 0, App.hInstance, 0)
' maximale Fensterbreite festlegen
SendMessageLong m_hWnd, TTM_SETMAXTIPWIDTH, 0, m_lMaxWidth
End Sub
Public Sub SetToolTipText(hWnd As Long, ByVal strText As String)
Dim udtToolInfo As TOOLINFO
With udtToolInfo
.hWnd = hWnd
.uId = hWnd
.lpszText = strText
.cbSize = Len(udtToolInfo)
End With
SendMessage m_hWnd, TTM_UPDATETIPTEXTA, 0, udtToolInfo
End Sub
툴팁을 작성하는 데 사용하는 코드 중 일부를 표시 할 수 있습니까? 아마도 전화를하거나 전화를 걸면 아마도 당신이주의를 기울이지 않는 오류가 생길 수 있습니다. –
@ PhoenixX_2 아주 소수의 사용자 만이 문제를 겪고 있으며 대부분의 경우 레지스트리 설정을 변경하면 문제가 해결되므로 코드의 오류는 제외됩니다. – Muis
나는 당신이 실수를했다고 말하지는 않았다. 특정 함수의 반환 값은 풍선 설정이 실제로 팝업을 허용하지 않음을 나타낼 수 있습니다. –