Situar un formulario en pantalla
Publicada el Miércoles, 12/9/2007 por David Esperalta
Aunque mi código fuente nunca pueda igualar al del maestro Domingo Seoane, no me quiero privar de copiar aquí una función que acabo de escribir a raíz de cierto mensaje en los Foros del ClubDelphi.
uses Windows; type TCorner = (cLeftTop, cLeftButton, cRightTop, cRightButton); function CornerForm(form: TCustomForm; corner: TCorner): boolean; var r: TRect; begin result := false; if SystemParametersInfo( SPI_GETWORKAREA,0,@r,0) then begin case corner of cLeftTop: begin form.Top := r.Top; form.Left := r.Left; end; cLeftButton: begin form.Left := r.Left; form.Top := r.Bottom-form.Height; end; cRightTop: begin form.Top := r.Top; form.Left := r.Right-form.Width; end; cRightButton: begin form.Top := r.Bottom-form.Height; form.Left := r.Right-form.Width; end; end; result := true; end else RaiseLastOSError(); end;
Se trata de situar un formulario en cualquiera de las esquinas de la pantalla, y, si puede destacarse algo (que no puede) es que no hacemos uso de cálculos arbritarios para intentar averiguar el alto de la barra de tareas.
Lo que hacemos es obtener el rectángulo del área de trabajo: ya sin barra o barras de tareas, y sin importar el tamaño de estas, porque no puede confiarse en que exista uno o varias ni saber de antemano el tamaño de estas.
Categorías: Software
Situar un formulario en pantalla
Publicada el Miércoles, 12/9/2007 por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks
Publicada el Miércoles, 12/9/2007 por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks
Aunque mi código fuente nunca pueda igualar al del maestro Domingo Seoane Jejeje, :D
No te rías que es peor. :D