IDA SDK
ask_form()/open_form()

This module describes how to generate a custom form.

This module describes how to generate a custom form.


The following keywords might appear at the beginning of the 'form' argument
(case insensitive):

STARTITEM number

  where number is a number of input field the cursor will stand on.
  By default the cursor is in the first field of the dialog box.
  The input fields are numbered from 0 (the first field is field 0).

BUTTON name caption

  Alternative caption for a button. It may contain the character
  to highlight in this form:  ~Y~es
  Valid button names are: YES, NO, CANCEL
  For example:
      BUTTON YES Please do
      BUTTON NO Nope
      BUTTON CANCEL NONE

  By default the NO button is not displayed. If it is displayed, then
  the return value of the function will be different!
  (see the function description)

  Empty text means that there won't be any corresponding button.
  (you may also use NONE as the caption to hide it)

  A * after the button name means that this button will be the default:

    BUTTON CANCEL* Cancel

Next, if the dialog box is kept in IDA.HLP, the following may appear:
(this defines help context for the whole dialog box)

@hlpMessageName[]

If the form is not in IDA.HLP file, then it can have a built-in
help message. In this case the help screen should be enclosed in the
following keywords:

HELP
....
....
....
ENDHELP

Each keyword should be on a separate line.

Next there must be the title line and two empty lines.
Most of the text in the dialog box text string is copied to the dialog
without modification. There are three special cases:

      - dynamic labels (format parameters)