Pregunta

Cuando llamo a un Opendialog desde mi formulario en el evento Buttonclick. El diálogo no se muestra como modal y también se muestra en la barra de tareas (en Windowsxp). Puedo volver al formulario principal y hacer clic en abrir una y otra vez, apareciendo varios diálogos a la vez.

¿Cómo hago un Opendialog para ser modal en Firemonkey? ¿Está hecho específicamente para que no se permitan diálogos modales debido a la antie multiplataforma de FM?

EDITAR: El error se soluciona en la actualización 3.

¿Fue útil?

Solución

Creo que es un error. Hay muchos errores de tipo modal con Firemonkey, y espero que los arreglen pronto. Actualmente, incluso las formas modales no son modales.

Para su problema, tengo una solución para Windows, pero es posible que no le guste.

Debe corregir la siguiente línea en el método tplatformwin.dialogopenfiles () en fmx.platform.win.

Por debajo with OpenFile do cambio:

hwndOwner := 0;

A esto:

hWndOwner := FmxHandleToHWND(Application.MainForm.Handle);

La función utiliza las ventanas GetOpenFileName API Llamada, a pesar de que está en desuso en Vista y superior. Si se pasa un mango del propietario, el diálogo es modal, de lo contrario no lo es.

Es posible que desee enviar esto como un error a Qc.embarcadero.com junto con la solución.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top