Buenos dias a todos.
Estoy intentando simular el nuevo gestor de ventanas de windows 11, al que además de posicionar la ventana en un lugar concreto, quiero darle una nueva funcionalidad.
Quiero en un programa con ventanas MDICHILD, poder sacar una MDICHILD y ponerla en una parte de la pantalla.
Para ello quiero similar el GESTOR DE VENTANAS DE WINDOWS 11.
Este es el nuevo GESTOR DE VENTANAS de Windows 11
Quiero crear un dialogo para poder poner los botones apropiados, pero obtengo el diálogo con la barra de CAPTION
Si le pongo el estilo POPUP no se muestra con el estilo de Windows 11, (contorno redondeado, sombras, etc...)
¿alguien conoce el estilo o combinacion de estilos para conseguir el dialogo, sin la barra del caption y con bordes redondeados?
Muchas gracias
Jesús Marín
NUEVO GESTOR DE VENTANAS EN W11
-
- Posts: 176
- Joined: Wed Jan 02, 2019 8:36 am
NUEVO GESTOR DE VENTANAS EN W11
Jesús Marín
Re: NUEVO GESTOR DE VENTANAS EN W11
Code: Select all | Expand
// C:\FWH..\SAMPLES\ESQINRED.PRG
// Dialogo con esquinas redondas
#include "FiveWin.ch"
#Define CLR_MSPURPLE nRGB( 0, 120, 215 ) //-> Purpura.
#Define CLR_ORANGE nRGB( 255, 165, 000 ) //-> Orange - Laranja
MEMVAR mOver, nRounder
FUNCTION Main()
LOCAL oDlg, oBrush, oFont, nVar := 100
SkinButtons()
mOver := .T.
nRounder := 20 // Change this value betwen 0 and 250 to see a results
DEFINE FONT oFont NAME "TAHOMA" SIZE 0, - 14
DEFINE BRUSH oBrush FILENAME "\fwh1905\bitmaps\olga1.jpg"
DEFINE DIALOG oDlg SIZE 300, 400 PIXEL STYLE WS_POPUP BRUSH oBrush ;
FONT oFont TRANSPARENT
@ 000, 000 BITMAP RESOURCE "" NOBORDER OF oDlg PIXEL SIZE 80, 21 ;
ON LEFT CLICK Click( oDlg )
@ 010, 010 SAY "This is some Text" SIZE 80, 12 PIXEL OF oDlg ;
COLOR CLR_MSPURPLE, CLR_WHITE TRANSPARENT UPDATE
@ 030, 010 GET nVar PICTURE "999,999.99" SIZE 80, 12 PIXEL OF oDlg ;
UPDATE RIGHT
@ 150, 010 SAY "Dialogo con Esquinas Redondas" SIZE 100, 12 PIXEL OF oDlg ;
COLOR CLR_ORANGE, CLR_WHITE TRANSPARENT UPDATE
@ 165, 010 SAY "<Click> en El BitMap: Move..." SIZE 100, 12 PIXEL OF oDlg ;
COLOR CLR_GREEN, CLR_WHITE TRANSPARENT UPDATE
@ 180, 100 BUTTON "Close" SIZE 40, 14 PIXEL OF oDlg ;
ACTION( oDlg:End() ) CANCEL
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT( RoundCorners( oDlg ) )
RELEASE BRUSH oBrush
RELEASE FONT oFont
RETURN NIL
STATIC FUNCTION Click( yvent )
LOCAL nGCPos
IF .NOT. mOver
RETURN NIL
ENDIF
WHILE GetKeyState( VK_LBUTTON )
SYSREFRESH()
nGCPos := GetCursorpos()
MoveWindow( yvent:hWnd, nGCPos[ 1 ], nGCPos[ 2 ], yvent:nWidth, yvent:nHeight, .T. )
IF .NOT. GetKeyState( VK_LBUTTON )
EXIT
ENDIF
ENDDO
nGCPos := GetCursorpos()
RETURN NIL
STATIC FUNCTION RoundCorners( oDlg )
LOCAL aRect, hRgn
aRect := GetClientRect( oDlg:hWnd )
hRgn := CreateRoundRectRgn( aRect, nRounder, nRounder )
SetWindowRgn( oDlg:hWnd, hRgn )
DeleteObject( hRgn )
RETURN NIL
#pragma BEGINDUMP
#include <Windows.h>
#include <HbApi.h> // Cambiado: 04/08/2023
// #include <ClipApi.h> // error
HB_FUNC( SETWINDOWRGN )
{
hb_retnl( SetWindowRgn( ( HWND ) hb_parnl( 1 ), ( HRGN ) hb_parnl( 2 ), TRUE ) );
}
#pragma ENDDUMP
// FIN / END - kapiabafwh@gmail.com
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: NUEVO GESTOR DE VENTANAS EN W11
Origen:
https://forums.fivetechsupport.com/view ... 86#p114030
https://forums.fivetechsupport.com/view ... 795#p98614
Regards, saludos.
https://forums.fivetechsupport.com/view ... 86#p114030
https://forums.fivetechsupport.com/view ... 795#p98614
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341