9 de octubre de 2006

Añadir un "sizing grip" a un formulario de nivel superior

Este código demuestra como añadir un "sizing grip" a un formulario de nivel superior.

El sizing grip se muestra en el estilo "clásico" de Windows, es decir, sin temas, y solamente tiene funcionalidad en formularios de nivel superior. Pero el código es tan simple, que me parece vale la pena verlo.
PUBLIC oForm1
oForm1 = NEWOBJECT("Form1")
oForm1.SHOW
RETURN

DEFINE CLASS Form1 AS FORM
  HEIGHT = 269
  WIDTH = 348
  SHOWWINDOW = 2
  CAPTION = "Demo de sizing grip"
  AUTOCENTER = .T.
  NAME = "Form1"

  ADD OBJECT label1 AS LABEL WITH ;
    NAME = "Label1", CAPTION = "Label1", ;
    HEIGHT = 17, LEFT = 204, TOP = 204, WIDTH = 40

  PROCEDURE Label1.MOUSEDOWN
    LPARAMETERS nButton, nShift, nXCoord, nYCoord
    #DEFINE WM_NCLBUTTONDOWN 0xA1
    #DEFINE HTBOTTOMRIGHT 17
    SendMessage(THISFORM.HWND, WM_NCLBUTTONDOWN, HTBOTTOMRIGHT, 0)
  ENDPROC

  PROCEDURE Label1.INIT
    THIS.HEIGHT = SYSMETRIC(15)
    THIS.WIDTH = SYSMETRIC(14)
    THIS.FONTNAME = [Marlett]
    THIS.FONTSIZE = 12
    THIS.FORECOLOR = RGB(128, 128, 128)
    THIS.ANCHOR = 0
    THIS.LEFT = THISFORM.WIDTH - THIS.WIDTH - 1
    THIS.TOP = THISFORM.HEIGHT - THIS.HEIGHT - 1
    THIS.ANCHOR = 12
    THIS.MOUSEPOINTER = 8
    THIS.CAPTION = [o]
    DECLARE INTEGER SendMessage IN user32 ;
      INTEGER HWND,INTEGER wMsg,INTEGER wParam,INTEGER LPARAM
  ENDPROC
ENDDEFINE
Carlos Alloatti

No hay comentarios. :

Publicar un comentario