Page 1 of 1

No permitir resize

Posted: Thu Oct 02, 2014 5:46 pm
by jmartial
Hola,


Me gustaría saber, si aunque el estilo de una ventana o diálogo sea THICKFRAME, es decir, permite cambiarle el tamaño con el ratón,
Habría alguna manera de no permitir que el usuario cambiara el tamaño.

Querría saberlo para diálogos y para ventanas.

Además, saber ssi alguien sabe como poner un borde como el thickframe, bonito y con sombra pero que nativamente no sea resizable?

Re: No permitir resize

Posted: Thu Oct 02, 2014 6:09 pm
by karinha
Mira se ayuda:

Code: Select all

DLG_CHEQUES DIALOG 37, 68, 530, 314
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "CHEQUES"
FONT 8, "MS Sans Serif"
{
 CONTROL "", 1013, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 5, 6, 520, 120
 CONTROL " ", 101, "EDIT", ES_CENTER | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 139, 100, 12
 CONTROL " ", 102, "EDIT", ES_CENTER | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 153, 100, 12
 CONTROL " ", 103, "EDIT", ES_LEFT | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER, 205, 153, 314, 12
 CONTROL " ", 104, "EDIT", ES_CENTER | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 167, 100, 12
 CONTROL " ", 105, "EDIT", ES_CENTER | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 181, 60, 12
 CONTROL " ", 106, "EDIT", ES_LEFT | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER, 165, 181, 180, 12
 CONTROL " ", 107, "EDIT", ES_CENTER | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 195, 80, 12
 CONTROL " ", 108, "EDIT", ES_LEFT | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 103, 208, 70, 12
 CONTROL " ", 109, "EDIT", ES_LEFT | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 103, 222, 70, 12
 CONTROL " ", 110, "EDIT", ES_LEFT | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 235, 90, 12
 CONTROL " ", 111, "EDIT", ES_LEFT | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 103, 248, 70, 12
 CONTROL " ", 112, "EDIT", ES_LEFT | ES_MULTILINE | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 103, 262, 325, 12
 PUSHBUTTON "&Novo", 1000, 11, 280, 70, 14
 PUSHBUTTON "&Alterar", 2000, 84, 280, 70, 14
 PUSHBUTTON "&Excluir", 3000, 157, 280, 70, 14
 PUSHBUTTON "&Pesquisa", 4000, 230, 280, 70, 14
 PUSHBUTTON "&Inicio", 5000, 303, 280, 70, 14
 PUSHBUTTON "&Anterior", 6000, 376, 280, 70, 14
 PUSHBUTTON "Se&guinte", 7000, 449, 280, 70, 14
 PUSHBUTTON "&Final", 8000, 11, 296, 70, 14
 PUSHBUTTON "&Listagem", 9000, 84, 296, 70, 14
 PUSHBUTTON "&Gravar", 10000, 157, 296, 70, 14
 PUSHBUTTON "&Cancelar", 11000, 230, 296, 70, 14
 PUSHBUTTON "&Quitar", 11500, 303, 296, 70, 14
 PUSHBUTTON "&Saida", 12000, 376, 296, 70, 14
 GROUPBOX "Cadastro de Cheques - Ocorrencias", 501, 5, 128, 520, 151
 LTEXT "N\xBA. Cheque:", 401, 10, 139, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Cód. Cliente:", 402, 10, 153, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Cpf/Rg/Cnpj:", 403, 10, 167, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Cód. Banco:", 404, 10, 181, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Valor Cheque:", 405, 10, 195, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Recebido em:", 406, 10, 208, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Bom Para:", 407, 10, 222, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Ocorrencia:", 408, 10, 235, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Quitado em:", 409, 10, 248, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Observação:", 410, 10, 262, 90, 12, WS_BORDER | WS_GROUP
 LTEXT "Cheques:", 420, 348, 168, 172, 34, NOT WS_GROUP
 CTEXT "", 421, 348, 202, 172, 33, SS_CENTER | NOT WS_GROUP
 CONTROL "", 801, "TDSay", 0 | WS_CHILD | WS_VISIBLE, 196, 235, 324, 12
 AUTORADIOBUTTON " &1 Por Cliente", 201, 187, 216, 72, 12
 AUTORADIOBUTTON " &2 Por Cheque", 202, 269, 216, 72, 12
 GROUPBOX "Escolha o Índice da Pesquisa", 113, 176, 206, 172, 27, BS_GROUPBOX
}
 

Re: No permitir resize

Posted: Thu Oct 02, 2014 6:13 pm
by cnavarro
jmartial wrote:Hola,


Me gustaría saber, si aunque el estilo de una ventana o diálogo sea THICKFRAME, es decir, permite cambiarle el tamaño con el ratón,
Habría alguna manera de no permitir que el usuario cambiara el tamaño.

Querría saberlo para diálogos y para ventanas.

Además, saber ssi alguien sabe como poner un borde como el thickframe, bonito y con sombra pero que nativamente no sea resizable?
Creo recordar que tienes la claúsula ON RESIZE, DATA bResized (no me acuerdo bien) y creo que existe aMaxMinInfo para delimitar el tamaño que puede tener una ventana

Re: No permitir resize

Posted: Thu Oct 02, 2014 6:32 pm
by karinha

Code: Select all

#include "Fivewin.ch"

FUNCTION MAIN()

    LOCAL oWnd

    DEFINE WINDOW oWnd

    ACTIVATE WINDOW oWnd;
             ON RESIZE SHOWRESIZETYPE( nSizeType )

    RETURN NIL


#define SIZE_INIT      NIL
#define SIZE_RESTORED  0
#define SIZE_MINIMIZED 1
#define SIZE_MAXIMIZED 2


STATIC FUNCTION SHOWRESIZETYPE( nSizeType )

    STATIC lInit := .T.

    DO CASE
        CASE nSizeType = SIZE_INIT
            ? "SIZE_INIT"
            lInit = .F.
        CASE nSizeType = SIZE_RESTORED .AND. !lInit
            ? "SIZE_RESTORED"
        CASE nSizeType = SIZE_MINIMIZED
            ? "SIZE_MINIMIZED"
        CASE nSizeType = SIZE_MAXIMIZED
            ? "SIZE_MAXIMIZED"
    ENDCASE

RETURN NIL
 

Re: No permitir resize

Posted: Sun Feb 07, 2021 3:48 am
by leandro
Buenas noches,

Recurro de nuevo a ustedes, por que necesito dejar un tamaño fijo para una window, probé el código que publico nuestro amigo karinha, pero no funciona.

Cristóbal, los datas y los arrays que mencionas están dentro de la clase, podrías suministrarnos un ejemplo :oops: :D sobre su uso.

De antemano gracias.

Re: No permitir resize

Posted: Sun Feb 07, 2021 4:08 am
by cnavarro

Re: No permitir resize

Posted: Sun Feb 07, 2021 8:11 am
by nageswaragunupudi

Code: Select all

#include "fivewin.ch"

function Main()

   local oWnd, w, h
   
   w     := 600
   h     := 500

   DEFINE WINDOW oWnd FROM 0,0 TO h,w PIXEL NOMAXIMIZE NOMINIMIZE
   oWnd:aMinMaxInfo := { nil, nil, nil, nil, w, h, w, h }
   ACTIVATE WINDOW oWnd CENTERED

return nil
 

Re: No permitir resize

Posted: Sun Feb 07, 2021 11:45 am
by leandro
Excelente muchas gracias a los dos por la respuesta :D