PdcWindows.ActiveWindow
Declaration
ActiveWindow as PdcWindow
Description
Returns the window object of the active window
Notes
This property returns the window object for the active window in Plan-de-CAMpagne.
Code example
Loop through the selected rows of the active window if it is the calculationlist and shows the calculation text.
!!! Note !!! Do not use a message box before reading the active window's key values into a stringlist. The click on the message box will change the selection to only the last selected line.
dim activewindow
dim intTel
dim objCalc
dim KeyValues
set ActiveWindow = pdc.Windows.ActiveWindow
if ActiveWindow.WindowKey = "32" then 'Calculationlist
set KeyValues = ActiveWindow.KeyValues
for intTel = 0 to KeyValues.Count -1
set objCalc = pdc.OpenCalculation(KeyValues(intTel))
if IsValid(objCalc) then
MsgBox objCalc.Text
end if
Next
else
msgbox "This script does not work with the opened window in PdC (Windowkey " & ActiveWindow.WindowKey & ")." & vbCrLf & _
"It works only with the calculationlist (Windowkey 32)."
end if
set KeyValues = nothing
set objCalc = nothing
set ActiveWindow = nothing
To get the selected rows of a sub grid (materials or operations in the calculation list) Loop through the grids of the calculation list and show the grid names. Loop through the selected rows of the material and operation datagrid of the calculationlist and shows the selected ID's. !!! Note !!! Do not use a message box before reading the active window's key values into a stringlist. The click on the message box will change the selection to only the last selected line.
dim objActWin
dim objActGrid
set objActWin = pdc.Windows.ActiveWindow
if objActWin.WindowKey = "32" then
for lngCnt = 0 to objActWin.DataGrids.Count - 1
Memo1.Lines.Add objActWin.DataGrids.items(lngCnt)
next
Memo1.Lines.Add ""
set objActGrid = objActWin.Datagrids.GetGridByName("PDCGrid2", "DM_ID")
Memo1.Lines.Add objActGrid.SelectionKey
for lngCnt = 0 to objActGrid.SelectedValues.Count - 1
Memo1.Lines.Add objActGrid.SelectedValues(lngCnt)
next
Memo1.Lines.Add ""
set objActGrid = objActWin.Datagrids.GetGridByName("PDCGrid3", "DB_ID")
Memo1.Lines.Add objActGrid.SelectionKey
for lngCnt = 0 to objActGrid.SelectedValues.Count - 1
Memo1.Lines.Add objActGrid.SelectedValues(lngCnt)
next
end if
Availability
Available from 4.0 onwards.