Tabs Corrupted after drag with Pinnable = True and Pinned = True

Summary

Id: 2767.2
Type: Bug Bug
Current Status: Open

Detail

7 Jun 2003 Open Stefan Triess

I found, that the drag functions for the tabs are corrupted if Pinnable=true and Pinned=true.

Project vbalDTab6, UserControl vbalDTabControl:-------------------------------------Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, x AsSingle, y As Single) ' Dim i As Long Dim tP As POINTAPI GetCursorPos tP pSetToolTipText tP If (m_bPinnable And (m_bOut Or m_bPinned)) Then ' Unpinned title bar mouse move processing: ScreenToClient m_hWnd, tP ... End If ' Tab mouse move processing: If (m_iDraggingTab > 0) And (Button = vbLeftButton) Then If (m_bJustReplaced) Then ...-------------------------------------

The reason for the bug ist, that in this case tP was already converted to screen coordinates before the following code. For a short workaround I inserted ScreenToClient() to reconvert tP to client coordinates. Alternatively You previously could store tP in an other variable.

The changed Code:-------------------------------------Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, x AsSingle, y As Single) ' Dim i As Long Dim tP As POINTAPI GetCursorPos tP pSetToolTipText tP If (m_bPinnable And (m_bOut Or m_bPinned)) Then ' Unpinned title bar mouse move processing: ScreenToClient m_hWnd, tP ... ClientToScree m_hWnd, tP End If ' Tab mouse move processing: If (m_iDraggingTab > 0) And (Button = vbLeftButton) Then If (m_bJustReplaced) Then ...-------------------------------------

For me this works fine.

Date of the tested software: 27/04/03

Environment: VS6.0 SP5, WinNT4.0/SP6a and WinXP/SP1a