Eslopes
14 de agosto de 2026, 10:00
PowerRustCOBOL 1.61.43 — correcciones de render de controles
Commit: Captions that sat left, a preview that erased controls, and a GroupName that never landed (1.61.43)
Los rótulos se dibujaban media anchura a la izquierda. El trazado compartido usa un trabajo de texto centrado, donde la posición es el centro del texto, y además restaba media anchura del centro del control. En un control amplio no se notaba; en uno estrecho el texto sobresalía por la izquierda y el recorte se comía el PRINCIPIO del valor: un DateTimePicker estrecho mostraba «M/YYYY». Ahora, si el texto no cabe ni al mínimo de 6 pt, se ancla su borde izquierdo al marco y lo que se pierde es la cola.
La Vista previa borraba los controles de cara transparente. «Transparency» atenúa la CARA, y el pintor siempre la aplicó solo ahí; la Vista previa la multiplicaba otra vez como alfa de todo el control, de modo que un CheckBox (creado con Transparency 100, sin tarjeta que levantar) se dibujaba con alfa 0. Además el clic no llegaba: el CheckBox informa del cambio como «Value» y la Vista previa lo guarda como «Checked».
El GroupName escrito no llegaba al control. Las filas de texto del inspector confirman al perder el foco, pero al pulsar otro control el panel se reconstruye y la fila desaparece antes de ese fotograma. Sin GroupName no hay forma de hacer excluyente un grupo de RadioButton.
RadioButton: el marco sigue su propio «BorderStyle» (sembrado en None) en lugar de un borde del tema que ninguna propiedad podía quitar, y su rótulo se sitúa a la derecha del círculo, a la misma distancia que el de un CheckBox de su casilla.
Contraste legible en temas oscuros: la marca del CheckBox (el azul sembrado da 3,3:1 sobre la casilla de Elegance), el rótulo del RadioButton, el valor del DateTimePicker y los elementos del ListBox, que tomaban el color del entorno porque «ForegroundColor» nunca les llegaba.
ListBox: la barra de desplazamiento se quedaba en medio de la lista; ahora va contra el borde derecho. El interlineado ya no toma la métrica del entorno (30 px de alto mínimo y 8 px de separación): una línea de lista es su texto y un poco de aire.
ComboBox y NumericUpDown pintaban con tipografía fija (12 pt) o la del entorno: ahora usan «FontName», «FontSize» y «ForegroundColor» del control.
Selector de color: el marcador de saturación/valor invadía la barra de tono y el marco del diálogo. El cuadrado y las barras reservan el radio del marcador, así que el negro absoluto de la esquina sigue siendo seleccionable.
Ejemplo — grupo de RadioButton excluyente
En el diseñador, escriba el mismo valor en la propiedad GroupName de cada RadioButton del grupo (por ejemplo FORMA-PAGO). El grupo pasa a ser excluyente y el manejador solo lee el que esté marcado:
IF WS-EFECTIVO = "1"
MOVE "EFECTIVO" TO WS-FORMA-PAGO
ELSE
MOVE "TARJETA" TO WS-FORMA-PAGO
END-IF
Documentación: PowerRustCOBOL/docs/developers-guide-en.md at main · CloudLandBeta/PowerRustCOBOL · GitHub (https://github.com/CloudLandBeta/PowerRustCOBOL/blob/main/docs/developers-guide-en.md)
Anthropic Claude Codex Agent
Commit: Captions that sat left, a preview that erased controls, and a GroupName that never landed (1.61.43)
Los rótulos se dibujaban media anchura a la izquierda. El trazado compartido usa un trabajo de texto centrado, donde la posición es el centro del texto, y además restaba media anchura del centro del control. En un control amplio no se notaba; en uno estrecho el texto sobresalía por la izquierda y el recorte se comía el PRINCIPIO del valor: un DateTimePicker estrecho mostraba «M/YYYY». Ahora, si el texto no cabe ni al mínimo de 6 pt, se ancla su borde izquierdo al marco y lo que se pierde es la cola.
La Vista previa borraba los controles de cara transparente. «Transparency» atenúa la CARA, y el pintor siempre la aplicó solo ahí; la Vista previa la multiplicaba otra vez como alfa de todo el control, de modo que un CheckBox (creado con Transparency 100, sin tarjeta que levantar) se dibujaba con alfa 0. Además el clic no llegaba: el CheckBox informa del cambio como «Value» y la Vista previa lo guarda como «Checked».
El GroupName escrito no llegaba al control. Las filas de texto del inspector confirman al perder el foco, pero al pulsar otro control el panel se reconstruye y la fila desaparece antes de ese fotograma. Sin GroupName no hay forma de hacer excluyente un grupo de RadioButton.
RadioButton: el marco sigue su propio «BorderStyle» (sembrado en None) en lugar de un borde del tema que ninguna propiedad podía quitar, y su rótulo se sitúa a la derecha del círculo, a la misma distancia que el de un CheckBox de su casilla.
Contraste legible en temas oscuros: la marca del CheckBox (el azul sembrado da 3,3:1 sobre la casilla de Elegance), el rótulo del RadioButton, el valor del DateTimePicker y los elementos del ListBox, que tomaban el color del entorno porque «ForegroundColor» nunca les llegaba.
ListBox: la barra de desplazamiento se quedaba en medio de la lista; ahora va contra el borde derecho. El interlineado ya no toma la métrica del entorno (30 px de alto mínimo y 8 px de separación): una línea de lista es su texto y un poco de aire.
ComboBox y NumericUpDown pintaban con tipografía fija (12 pt) o la del entorno: ahora usan «FontName», «FontSize» y «ForegroundColor» del control.
Selector de color: el marcador de saturación/valor invadía la barra de tono y el marco del diálogo. El cuadrado y las barras reservan el radio del marcador, así que el negro absoluto de la esquina sigue siendo seleccionable.
Ejemplo — grupo de RadioButton excluyente
En el diseñador, escriba el mismo valor en la propiedad GroupName de cada RadioButton del grupo (por ejemplo FORMA-PAGO). El grupo pasa a ser excluyente y el manejador solo lee el que esté marcado:
IF WS-EFECTIVO = "1"
MOVE "EFECTIVO" TO WS-FORMA-PAGO
ELSE
MOVE "TARJETA" TO WS-FORMA-PAGO
END-IF
Documentación: PowerRustCOBOL/docs/developers-guide-en.md at main · CloudLandBeta/PowerRustCOBOL · GitHub (https://github.com/CloudLandBeta/PowerRustCOBOL/blob/main/docs/developers-guide-en.md)
Anthropic Claude Codex Agent