Is there a way to disable double click editing. I would like to implement my own entity properties box based on the BeginDoubleClick event, but can't seem to find a way to disable the above.
Pete
#2
PeteWhite,
The properties form in Intellicad fired from the double-click looks like it's embedded in the program code as it is described throughout the help files.
I guess you could capture the form and cancel it using the API; then display your own form.
That's the only thing I can think of - It should look something like the code below as this loops through each opened window to find the Entity Properties - you can then close it.
Function EnumWinProc(ByVal lhWnd As Long, ByVal lParam As Long) As Long
' This loops through each Window to Find Entity Properties
' If it is Running IFlag = 2 and If it has Just Opened
Dim RetVal As Long, ProcessID As Long, ThreadID As Long
Dim WinClassBuf As String * 255, WinTitleBuf As String * 255
Dim WinClass As String, WinTitle As String
RetVal = GetClassName(lhWnd, WinClassBuf, 255)
WinClass = StripNulls(WinClassBuf) ' remove extra Nulls & spaces
If StrComp(WinClass, "ThunderRT6FormDC", vbBinaryCompare) = 0 Then
IFlag = IFlag + 1
End If
RetVal = GetWindowText(lhWnd, WinTitleBuf, 255)
WinTitle = StripNulls(WinTitleBuf)
' see the Windows Class and Title for each top level Window
If StrComp(WinTitle, "Entity Properties") = 0 Then
IFlag2 = 1
End If
EnumWinProc = True
'WinClass = ""
End Function
The properties form in Intellicad fired from the double-click looks like it's embedded in the program code as it is described throughout the help files.
I guess you could capture the form and cancel it using the API; then display your own form.
That's the only thing I can think of - It should look something like the code below as this loops through each opened window to find the Entity Properties - you can then close it.
Function EnumWinProc(ByVal lhWnd As Long, ByVal lParam As Long) As Long
' This loops through each Window to Find Entity Properties
' If it is Running IFlag = 2 and If it has Just Opened
Dim RetVal As Long, ProcessID As Long, ThreadID As Long
Dim WinClassBuf As String * 255, WinTitleBuf As String * 255
Dim WinClass As String, WinTitle As String
RetVal = GetClassName(lhWnd, WinClassBuf, 255)
WinClass = StripNulls(WinClassBuf) ' remove extra Nulls & spaces
If StrComp(WinClass, "ThunderRT6FormDC", vbBinaryCompare) = 0 Then
IFlag = IFlag + 1
End If
RetVal = GetWindowText(lhWnd, WinTitleBuf, 255)
WinTitle = StripNulls(WinTitleBuf)
' see the Windows Class and Title for each top level Window
If StrComp(WinTitle, "Entity Properties") = 0 Then
IFlag2 = 1
End If
EnumWinProc = True
'WinClass = ""
End Function