He intentado usar la infraestructura FutureWindows de tomazy (ver su respuesta en Delphi GUI Testing and Modal Forms o la página de inicio de la herramienta en https://github.com/tomazy/DelphiUtils), pero me gustaría saber si se puede usar y cómo se puede usar con los diálogos abiertos de archivos estándar de Windows. No parecen estar heredando de TControl, que parece que asume la infraestructura de FutureWindows (a menos que lo haya malinterpretado).(cómo) ¿Puedo usar FutureWindows con diálogos de archivo abiertos estándar?
Lo que me gustaría hacer es básicamente seleccionar un archivo en un OpenFileDialog que se abre de forma modal mediante un comando dentro de mis pruebas, pero todavía no he podido averiguar cómo hacerlo.
Gracias, de hecho noté que FutureWindows tiene esto como un const (MESSAGE_BOX_WINDOW_CLASS) y así obtuve acceso al diálogo como una IWindow (interfaz de FutureWindows). Ahora mi problema es hacer que esta interfaz se oponga, porque la interfaz solo proporciona un método AsControl, lo que dudo que funcione, ya que el diálogo no es un TControl. Sin él, no sé (todavía) cómo establecer la propiedad FileName del diálogo ... – DelphiUser
Está en lo cierto, 'AsControl' no puede funcionar. Puede usar 'EnumChildWindows' para buscar la ventana de destino, pero puede haber una manera más fácil. ¿No puedes burlarte de esto? –
Busqué en Google un poco y terminé con esto, que parece funcionar: Windows.SetDlgItemText (DlgHandle, 1148, PChar (FileName)); Utilizando esto: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/62d5db14-5497-4ceb-8af0-d7f81732e937/ Así que, básicamente, envío un mensaje para configurar el nombre de archivo para el control correcto (ID 1148 funciona al menos en mi Windows 7 :)) – DelphiUser