hexagon logo

DropDown List Box example

Free to use and change to meet your needs.

Hope this helps someone.

Dim PCDDmisApp As Object
    Dim PCDDmisPart As Object
    Dim PCDDmisCommands As Object
    Dim PCDDmisCommand As Object

Sub Main ()
    Set PCDDmisApp = CreateObject("PCDLRN.Application")
    Set PCDDmisPart = PCDDmisApp.ActivePartProgram
    Set PCDDmisCommands = PCDDmisPart.Commands

    Dim Command As Object
'    create a list of part numbers For the drop down list

        Dim MyList$(8)
        MyList(0) = "12345"
        MyList(1) = "12346"
        MyList(2) = "12347"
        MyList(3) = "12348"
        MyList(4) = "12349"
        MyList(5) = "22345"
        MyList(6) = "22346"
        MyList(7) = "22347"
        MyList(8) = "22348"
        
        Begin Dialog DialogName1 200,184, "Part Number Selection Dialog Box"
            Text 10,10,88,22, "Select a Part  Number:"
            DropListBox 42,76,108,186, MyList$(), .DropList1$
            CancelButton 42,108,40,12
            OKButton 90,108,40,12
        End Dialog

        Dim Dlg1 As DialogName1

'       Dlg1.DropList1  =  0 this shows item (0) default In the window In the drop down list
'       You can change it To show Any item On top from Mylist()
        Dlg1.DropList1  =  0

'       If cancel button is selected, Exit Sub
        Button = Dialog(Dlg1)
        If Button = 0 Then Exit Sub 
     
        Vari = Dlg1.DropList1
      
        Set PCDDmisCommand = PCDDmisCommands.Add(ASSIGNMENT,True)
        PCDDmisCommand.Marked = True
        retval = PCDDmisCommand.PutText("Part_Num",DEST_EXPR,0)
        retval = PCDDmisCommand.PutText(mylist$(vari),SRC_EXPR,0)
        
End Sub


Parents
  • Here is a snippet of code out of my tracefield program:

    For Each PCDCommand In PCDCommands
    
                        If PCDCommand.Type = ASSIGNMENT Then
                             ' Save the operator In "OPER"
                            If PCDCommand.GetText(DEST_EXPR,0) = "OPER" Then
                                retval = PCDCommand.PutText(""""+  EmpList(dlg1.DrpList1) +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
    
                             ' Save the serial number In "SRN"
                            If PCDCommand.GetText(DEST_EXPR,0) = "SRN" Then
                                retval = PCDCommand.PutText(""""+ dlg1.PartNameEdit +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
                            ' Save the Inspectors number In "INSP"
                            If PCDCommand.GetText(DEST_EXPR,0) = "INSP" Then
                                retval = PCDCommand.PutText(""""+ MyList(Dlg1.DrpList) +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
                            ' Put code here To save release variables
    
                           ' Save the release number In "REL"
                            If PCDCommand.GetText(DEST_EXPR,0) = "REL" Then
                                retval = PCDCommand.PutText(""""+ dlg1.releaseNo +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
    
                            '
                            ' The PartProgram class has several properties we can find useful
                            ' we have .FullName, .ProgramName, .RevisionNumber, And .SerialNumber
                            ' we can use this To pull the Full Name including path, Job number, part number And
                            ' revision from the beginning of the program.
                            '
                            ' We use PART Name As Job number
                            ' We use REV NUMBER As part number
                            ' We use SER NUMBER As the revision number Or letter
                            '
                            ' save part number To variable "PRTNUM" If it exists
                            If PCDCommand.GetText(DEST_EXPR,0) = "PRTNUM" Then
                                retval = PCDCommand.PutText(""""+ PCDPartProgram.RevisionNumber +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
    
                        End If
    
            Next PCDCommand
    
    


    and in the program I have assigns:


                ASSIGN/OPER="0"
                ASSIGN/SRN="NEW"
                ASSIGN/INSP="0"
                ASSIGN/PRTNUM="0"
                ASSIGN/REL="1"
Reply
  • Here is a snippet of code out of my tracefield program:

    For Each PCDCommand In PCDCommands
    
                        If PCDCommand.Type = ASSIGNMENT Then
                             ' Save the operator In "OPER"
                            If PCDCommand.GetText(DEST_EXPR,0) = "OPER" Then
                                retval = PCDCommand.PutText(""""+  EmpList(dlg1.DrpList1) +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
    
                             ' Save the serial number In "SRN"
                            If PCDCommand.GetText(DEST_EXPR,0) = "SRN" Then
                                retval = PCDCommand.PutText(""""+ dlg1.PartNameEdit +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
                            ' Save the Inspectors number In "INSP"
                            If PCDCommand.GetText(DEST_EXPR,0) = "INSP" Then
                                retval = PCDCommand.PutText(""""+ MyList(Dlg1.DrpList) +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
                            ' Put code here To save release variables
    
                           ' Save the release number In "REL"
                            If PCDCommand.GetText(DEST_EXPR,0) = "REL" Then
                                retval = PCDCommand.PutText(""""+ dlg1.releaseNo +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
    
                            '
                            ' The PartProgram class has several properties we can find useful
                            ' we have .FullName, .ProgramName, .RevisionNumber, And .SerialNumber
                            ' we can use this To pull the Full Name including path, Job number, part number And
                            ' revision from the beginning of the program.
                            '
                            ' We use PART Name As Job number
                            ' We use REV NUMBER As part number
                            ' We use SER NUMBER As the revision number Or letter
                            '
                            ' save part number To variable "PRTNUM" If it exists
                            If PCDCommand.GetText(DEST_EXPR,0) = "PRTNUM" Then
                                retval = PCDCommand.PutText(""""+ PCDPartProgram.RevisionNumber +"""", SRC_EXPR, 0)
                                PCDCommand.ReDraw
                            End If
    
                        End If
    
            Next PCDCommand
    
    


    and in the program I have assigns:


                ASSIGN/OPER="0"
                ASSIGN/SRN="NEW"
                ASSIGN/INSP="0"
                ASSIGN/PRTNUM="0"
                ASSIGN/REL="1"
Children
No Data