Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > ActiveX COM > Report Control
  New Posts New Posts RSS Feed - Track Control -Double Click On Block
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Track Control -Double Click On Block

 Post Reply Post Reply
Author
Message Reverse Sort Order
wsun View Drop Down
Groupie
Groupie


Joined: 11 January 2012
Status: Offline
Points: 22
Post Options Post Options   Thanks (0) Thanks(0)   Quote wsun Quote  Post ReplyReply Direct Link To This Post Topic: Track Control -Double Click On Block
    Posted: 11 June 2012 at 5:23am
Hi,

Yes, i got it. Thank you very much.
Back to Top
diegosoftlord View Drop Down
Newbie
Newbie
Avatar

Joined: 24 May 2012
Location: Resistencia
Status: Offline
Points: 2
Post Options Post Options   Thanks (0) Thanks(0)   Quote diegosoftlord Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2012 at 9:32am
Hi! 

        ! i'm new in the Post.- 

          You can show some example for change the label time with date format.- 
Because i Could not get it yet .-

          Thank You Very Much 
Diego Ramos
Back to Top
Xander75 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 April 2007
Status: Offline
Points: 353
Post Options Post Options   Thanks (0) Thanks(0)   Quote Xander75 Quote  Post ReplyReply Direct Link To This Post Posted: 09 May 2012 at 2:15pm
Hi,

I have had another look at the DblClick event as the method I posted wasn't that reliable.

I have found some code on these forums (I can't remember which post!) and built upon the code to create a class that adds the missing DblClick event, however doing so swallows the RowDblClick so I have had to extend the RowDblClick event too.

Here's the code: uploads/2960/cExtender.rar

How to use...

Before adding any code you must first have the SSubTimer6.dll file downloaded on your computer. This can be found on vbaccelerator at: http://www.vbaccelerator.com/home/VB/Code/Libraries/Subclassing/SSubTimer/article.asp

Step 1:
' Add the cExtender.cls to the Project then create a reference using WithEvents in the General Declarations area of the Form with the TrackControl
Dim WithEvents cExtender As cExtender

Step 2:
' Add the following code to the Form Load event
Set cExtender = New cExtender
Call cExtender.Extend(TrackControl)   ' <<< TrackControl is the name of your TrackControl

Step 3:
' Add the following code to the Form Unload event
Call cExtender.ExtendComplete(TrackControl)   ' <<< TrackControl is the name of your TrackControl

Step 4:
' You now have a DblClick event for the Block, Column & Row for Left, Middle & Right Mouse Buttons
Private Sub cExtender_BlockDblClick(Button As Integer, ByVal Block As XtremeReportControl.TrackBlock)
    Debug.Print "BlockDblClick"
End Sub

Private Sub cExtender_ColumnDblClick(Button As Integer, ByVal Column As XtremeReportControl.IReportColumn)
    Debug.Print "ColumnDblClick"
End Sub

Private Sub cExtender_RowDblClick(Button As Integer, ByVal Row As XtremeReportControl.IReportRow, ByVal Item As XtremeReportControl.IReportRecordItem)
    Debug.Print "RowDblClick"
End Sub

Product: Xtreme SuitePro (ActiveX) v15.3.1
Platform: Windows 7 64-bit (SP1) Professional Edition
Languages: C#.Net using Visual Studio 2012 & Visual Basic 6.0 (SP6)
Back to Top
Xander75 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 April 2007
Status: Offline
Points: 353
Post Options Post Options   Thanks (0) Thanks(0)   Quote Xander75 Quote  Post ReplyReply Direct Link To This Post Posted: 23 April 2012 at 3:44am
Hi,

Sorry for the delay in getting back to you. It looks like the MouseUp event doesn't fire if you have the .AllowBlockMove = True, setting this to False allows this to work.

In my project I use the TrackControl for display purposes only, therefore I have this set to False.
Product: Xtreme SuitePro (ActiveX) v15.3.1
Platform: Windows 7 64-bit (SP1) Professional Edition
Languages: C#.Net using Visual Studio 2012 & Visual Basic 6.0 (SP6)
Back to Top
wsun View Drop Down
Groupie
Groupie


Joined: 11 January 2012
Status: Offline
Points: 22
Post Options Post Options   Thanks (0) Thanks(0)   Quote wsun Quote  Post ReplyReply Direct Link To This Post Posted: 15 April 2012 at 10:30pm
Hi, 
I'm using Xtreme SuitePro ActiveX v15.0.1. It is not work for me when clicking on the block and it didn't run the MouseDown event.
I hope that can get some advise from all of you.

Thank you.
Back to Top
Xander75 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 26 April 2007
Status: Offline
Points: 353
Post Options Post Options   Thanks (0) Thanks(0)   Quote Xander75 Quote  Post ReplyReply Direct Link To This Post Posted: 03 April 2012 at 10:56am
Hi,

This might not be the best way but it works as a workaround for your needs:

' Add this code to a module
Private Declare Function GetDoubleClickTime Lib "user32.dll" () As Long
Private Click As String
Private DblClick As String

Public Function ReportControlDblClick() As Boolean
    If Trim$(Click) = vbNullString Then
        Click = Format$(Date, "yyyymmdd") & Format$(Time, "hhnnss") & Right(Format(Timer, "#0.000"), 3)
    Else
        DblClick = Format$(Date, "yyyymmdd") & Format$(Time, "hhnnss") & Right(Format(Timer, "#0.000"), 3)

        If DblClick - Click < GetDoubleClickTime Then
            ReportControlDblClick = True
            Click = vbNullString
            DblClick = vbNullString
        Else
            Click = Format$(Date, "yyyymmdd") & Format$(Time, "hhnnss") & Right(Format(Timer, "#0.000"), 3)
        End If
        Exit Function
    End If
   
    ReportControlDblClick = False
End Function

Next add the following code to the ReportControl:

Private Sub rpcGrid_MouseDown(Button As Integer, Shift As Integer, x As Long, y As Long)   
    If Button = vbLeftButton Then
        Dim Row As ReportRow
        Set Row = rpcGrid.HitTest(x, y).Row
            Row.Selected = True
    End If
End Sub

Private Sub rpcGrid_MouseUp(Button As Integer, Shift As Integer, x As Long, y As Long)
    If Button = vbLeftButton Then
        If ReportControlDblClick Then
            Select Case rpcGrid.HitTest(x, y).ht
                Case xtpHitTestBlock
                    MsgBox rpcGrid.HitTest(x, y).Block.Caption
            End Select
        End If
    End If
End Sub

Product: Xtreme SuitePro (ActiveX) v15.3.1
Platform: Windows 7 64-bit (SP1) Professional Edition
Languages: C#.Net using Visual Studio 2012 & Visual Basic 6.0 (SP6)
Back to Top
wsun View Drop Down
Groupie
Groupie


Joined: 11 January 2012
Status: Offline
Points: 22
Post Options Post Options   Thanks (0) Thanks(0)   Quote wsun Quote  Post ReplyReply Direct Link To This Post Posted: 29 March 2012 at 12:07am
Hi,
Got anyone how to show a message box when double click on block? Hope someone can help me.



Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.172 seconds.