Update: Here's a simper example to reproduce the issue:
DialogInput[Table[InputField[], {50}], WindowSize -> All]
On my 1366×768 screen only no more than 17 InputField
s are displayed.
This happens at least when a Manipulate
that owns a big enough image and an adequate number of controller is inside DialogInput
. Try the following example:
picture = Rasterize[Table[i + j, {i, 40}, {j, 40}] // MatrixForm];
DialogInput[{Manipulate[picture, {a}, {a}, {a}, {a}, {a}],
DefaultButton@DialogReturn[]}, WindowSize -> All]
As one can see, the last line of the matrix and the DefaultButton
aren't displayed, and the WindowSize -> All
option doesn't work. What am I doing wrong here? Or it's a bug? Let alone whether it's a bug or not, how to fix it (in a general way if possible)?
The issue seems to be related to the screen resolution. (Mine is 1366×768.) If you own a better screen, you may need to make the picture
larger to reproduce it.
Answer
I might not have understood the question correctly. But it seems to me that adding
WindowElements->"VerticalScrollBar"
to the code should fix the problem. a simple code
DialogInput[Table[InputField[i], {i, 2000}], WindowElements -> "VerticalScrollBar"]
works real well.
Here's my screenshot of the last several InputField
:
Still works for the original Dialog with Manipulate.
picture = Rasterize[Table[i + j, {i, 40}, {j, 40}] // MatrixForm];
DialogInput[{Manipulate[picture, {a}, {a}, {a}, {a}, {a}],
DefaultButton@DialogReturn[]}, WindowSize -> All,
WindowElements -> "VerticalScrollBar"]
Comments
Post a Comment