15 de agosto de 2021

Cuadro de controles de la barra de título en el lado izquierdo

Artículo original: CtrlBox on Left Side
http://sandstorm36.blogspot.com/2018/08/ctrlbox-on-left-side.html
Autor: Jun Tangunan
Traducido por: Google Translate


Dado que algunos utilizan árabe/urdu, que se ocupa de la lectura y la entrada de datos de derecha a izquierda, este truco podría resultarles útil. Que es transponer también la posición del cuadro de controles de la barra de título en el lado izquierdo.

Este truco es realmente bastante simple y requiere solo 3 líneas de códigos que involucran GetWindowLong y SetWindowLong. Acabo de agregar algunos códigos para mostrar cómo se ve. Vea si esto puede resultarle útil.

Salud!

loTest = CREATEOBJECT("Form1")
loTest.SHOW(1)
READ EVENTS

DEFINE CLASS form1 AS FORM
  AUTOCENTER = .T.
  CAPTION = "ControlBox en el lado izquierdo"
  SHOWWINDOW = 2

  ADD OBJECT label1 AS LABEL WITH ;
    TOP = 20,;
    LEFT = 10,;
    FONTSIZE = 16,;
    WIDTH = THISFORM.WIDTH -20,;
    HEIGHT = THISFORM.HEIGHT - 20,;
    WORDWRAP = .T.,;
    CAPTION = "Esto muestra cómo invertir las posiciones de los objetos de la barra "+;
    "de título, como el cuadro de control, el icono y las etiquetas, dejando el interior "+;
    "del formulario en las posiciones normales de izquierda a derecha."

  PROCEDURE LOAD
    DECLARE INTEGER SetWindowLong IN user32 INTEGER HWND, INTEGER nIndex, INTEGER dwNewLong
    DECLARE INTEGER GetWindowLong IN user32 INTEGER HWND, INTEGER nIndex
    SetWindowLong(THISFORM.HWND, -20, BITOR(GetWindowLong(THISFORM.HWND, -16), 0x80000))
  ENDPROC

  PROCEDURE DESTROY
    CLEAR EVENTS
  ENDPROC
ENDDEFINE

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.