¿Cómo configurar la posición del cuadro emergente del control CommonDialog en VB?
Para resolver este problema, primero debemos descubrir cómo CommonDialog establece la posición de su cuadro de diálogo. Primero coloque un control CommonDialog en un formulario, luego mueva continuamente el formulario en la pantalla y active CommonDialog. Encontrará que CommonDialog siempre aparece en la esquina superior izquierda del formulario, lo cual es muy obvio cuando el formulario aparece en la parte superior izquierda o superior de la pantalla. Pero cuando el formulario aparece en la parte inferior o derecha de la pantalla, CommonDialog se ajustará ligeramente para garantizar que todo el cuadro de diálogo se pueda mostrar dentro del rango de la pantalla. Si su formulario está más cerca del centro de la pantalla, entonces CommonDialog aparecerá naturalmente en el centro de la pantalla. Usando esta característica, podemos crear un formulario vacío, llamado MyCDForm, y luego colocarle un control CommonDialog. Este MyCDForm solo se usa para colocar el control CommonDialog y no tiene otros usos. Luego ingrese la siguiente función.
Función privada ChooseFile(argLeft As Single, argTop As Single) Como booleano
'Establecer en ningún archivo seleccionado
ChooseFile = False
'Mover la posición de MyCDForm
MyCDForm.Left = argLeft
MyCDForm.Top = argTop
'Establecer el control CommonDialog
MyCDForm.CommonDialog1.CancelError = True
En caso de error, Ir a OpenError
' Mostrar CommonDialog
MyCDForm.CommonDialog1.ShowOpen
' Desinstalar MyCDForm
p>Descargar MyCDForm
ChooseFile = True
Salir de la función
OpenError:
'El usuario presionó la tecla Cancelar
p>Descargar MyCDForm
Función de salida
Función de finalización
Cuando su programa necesita llamar al cuadro de diálogo Abrir , solo usa ChooseFile. argLeft y argTop son las coordenadas de la esquina superior izquierda de la posición donde aparece el cuadro de diálogo Abrir en la pantalla.
Como se puede ver en esta función, en realidad configuramos la posición de MyCDForm en argLeft y argTop, y usamos la función de que la posición del cuadro de diálogo Abrir siempre aparece en la esquina superior izquierda de su ventana principal para cambiar la posición de la pantalla del Abrir cuadro de diálogo. De manera similar, puede mostrar otros cuadros de diálogo. Si desea que el cuadro de diálogo aparezca en el centro de la pantalla, entonces argLeft = (Screen.Width - ancho del cuadro de diálogo) \ 2, argTop = (Screen.Height - alto del cuadro de diálogo) \ 2. Para un tamaño de pantalla de 800*600 píxeles y un cuadro de diálogo Abrir, ambos valores son aproximadamente 1500.