• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Making a Form with a Scrollbar?

Stats

  • Replies 10
  • Subscribers 161
  • Views 15755
  • Members are here 0
More Content

Making a Form with a Scrollbar?

thewill2live
thewill2live over 11 years ago
I was reading through the Allegro SKILL Reference guide and noticed that VARIABLE formtypes are not supported. Is there some other way I can make a form with a scrollbar? I need to display alot of text and the window extends outside of the visible part of the screen (so that the bottom buttons are off screen). Is there a way to get a scrollbar into the form so that the text scrolls instead of making a huge screen? 
  • Sign in to reply
  • Cancel
  • eDave
    eDave over 11 years ago
    STRFILLIN fields will scroll if the text is larger than the field length
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 11 years ago

    Like eDave suggests use a STRFILLIN  with the multiline option. The following form file snippet will create a 16 width by 10 high control with a vertical scrollbar that will support up to 1024 characters. Using the FSIZE parameter is what allows a taller control. If you do not wish to let the user edit the string mark the control as read-only in your Skill code (user will still be able to manipulate the scroll bar).

        axlFormSetFieldEditable(fw "mline" nil)

    When loading the field use the newline ("\n")  to force text to break to another line.

    FIELD mline
    FLOC 16 6
    STRFILLIN 16 1024
    FSIZE 16 10
    ENDFIELD

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • thewill2live
    thewill2live over 11 years ago
    Thanks guys, but I think I was a little vague when I explained my issue. Here's a more in depth explanation. I have a list of entries that I am outputting to a file and want to show it on a form before I actually write the file so that the user could make any adjustments desired. My issue was that if the amount of text that prints out happens to be 60 lines or something like that, I wanted it to scroll in the screen instead of extending the screen (because at that point the screen could extend past the visible area). So the option I ended up going with was making a Grid. Because putting a grid seems to automatically put in scroll bars in the vertical and horizontal directions. This is working out for me on this project but thanks again for your suggestions because they ended up being useful for another program that I'm writing.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mikebystedt
    mikebystedt over 10 years ago
    Do you happen to have a code snippet for this? I'm trying to do the exact same thing with little luck. I'm fairly new to using Grids. All I need is a single cell that allows for displaying and editing multi-line text. Any help is GREATLY appreciated! -Mike
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mikebystedt
    mikebystedt over 10 years ago

    Am I even getting close here?
    Thanks! -Mike

    procedure( _scInitGrids()
    let((c cell )

    c = make_formGridCol()
    c->fieldType = 'STRING
    c->colWidth = 2
    c->align 'left
    c->headText = "Text"
    axlFormGridInsertCol(checkForm "grid" c)
    axlFormGridInsertRows(checkForm "grid" 1 1)

    cell = axlFormGridNewCell()
    cell->row = 1
    cell->col = 1
    cell->noEdit = nil <==================== Doesn't seem to let me edit the cell.
    cell->textColor = 'black
    cell->value = "Layer"
    axlFormSetField(checkForm "grid" cell)

    axlFormGridUpdate(checkForm "grid")

    );End let.
    );End _scInitGrids().

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
>
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information