Page 1 of 1

SET MSGBAR en DIALOG (Resuelto)

PostPosted: Mon Feb 05, 2018 1:14 pm
by albeiroval
Buen dia,

Estoy usando SET MSGBAR en un dialogo, funciona bien pero el usuario haciendo click en la barra puede cambiar el tamaño del dialogo, como puedo hacer para que quede fijo ?

Re: SET MSGBAR en DIALOG

PostPosted: Mon Feb 05, 2018 1:30 pm
by karinha
Si utiliza WORKSHOP.EXE, apague: Thick Frame en las propiedades del Dialogo. Saludos.

Re: SET MSGBAR en DIALOG

PostPosted: Mon Feb 05, 2018 1:48 pm
by albeiroval
Karinha, uso PellesC, WS_THICKFRAME esta en "NO" igual si lo pongo en "SI" sigue haciendo lo mismo

Re: SET MSGBAR en DIALOG

PostPosted: Mon Feb 05, 2018 2:43 pm
by karinha
Lo siento, no uso Pellesc.exe no me gusta, talvéz:

Code: Select all  Expand view

   oDlg:nStyle    := nOr( WS_OVERLAPPED,WS_THICKFRAME,WS_MAXIMIZEBOX,   0  )
 


Saul2

Re: SET MSGBAR en DIALOG

PostPosted: Mon Feb 05, 2018 2:53 pm
by albeiroval
karinha, tampoco funciona. El codigo que uso es :
Code: Select all  Expand view

ACTIVATE DIALOG oDlg;
   CENTER;
   VALID lExit;
   ON INIT OnInitDlg( oDlg )

static function OnInitDlg( oDlg )
   SET MSGBAR OF oDlg TO "" 2015
   ...
Return Nl
 


Y el RC :

Code: Select all  Expand view

FACTURA_DE_VENTA DIALOGEX DISCARDABLE 6, 18, 774, 414
STYLE DS_SHELLFONT|WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|DS_3DLOOK|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION "Dialog"
FONT 8, "MS Shell Dlg", 0, 0, 1
{
  CONTROL "", 4000, "Button", BS_GROUPBOX, 12, 56, 756, 352
  CONTROL "VENDEDOR :", 100, "Static", WS_GROUP, 16, 64, 60, 8
  CONTROL "CLIENTE :", 101, "Static", WS_GROUP, 16, 80, 60, 8
  CONTROL "CONDICION :", 102, "Static", WS_GROUP, 16, 96, 60, 8
  CONTROL "DESGLOZAR :", 103, "Static", WS_GROUP, 16, 112, 60, 8
  CONTROL "PLAZO :", 104, "Static", WS_GROUP, 16, 128, 60, 8
  CONTROL "NOMBRE DEL VENDEDOR", 105, "Static", WS_GROUP, 172, 64, 368, 8
  CONTROL "NOMBRE DEL CLIENTE", 106, "Static", WS_GROUP, 172, 80, 368, 8
  CONTROL "FACTURA NRO. :", 107, "Static", WS_GROUP, 548, 64, 68, 8
  CONTROL "FECHA :", 108, "Static", WS_GROUP, 548, 80, 68, 8
  CONTROL "DATE()", 109, "Static", WS_GROUP, 624, 80, 104, 8
  CONTROL "VENCE :", 110, "Static", WS_GROUP, 548, 96, 68, 8
  CONTROL "DATE()", 111, "Static", WS_GROUP, 624, 96, 104, 8
  CONTROL "ITEM : 1/1", 112, "Static", WS_GROUP, 548, 112, 72, 8
  CONTROL "MESA Nro. 1", 113, "Static", WS_GROUP, 548, 128, 184, 8
  CONTROL "Editar", 200, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 624, 64, 108, 12
  CONTROL "Editar", 201, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 84, 64, 84, 12
  CONTROL "Editar", 202, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 84, 80, 84, 12
  CONTROL "", 203, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL|WS_TABSTOP, 84, 96, 84, 40
  CONTROL "", 204, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL|WS_TABSTOP, 84, 112, 56, 40
  CONTROL "Editar", 205, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 84, 128, 68, 12
  CONTROL "xBrowse", 300, "TXBrowse", WS_TABSTOP|0x00300000, 16, 144, 744, 160
  CONTROL "SUBTOTAL :", 114, "Static", WS_GROUP, 20, 312, 124, 8
  CONTROL "DESCUENTO :", 115, "Static", WS_GROUP, 20, 324, 68, 8
  CONTROL "FLETE :", 116, "Static", WS_GROUP, 20, 340, 124, 8
  CONTROL "BASE IMPONIBLE :", 117, "Static", WS_GROUP, 20, 352, 124, 8
  CONTROL "IMPUESTO : ", 118, "Static", WS_GROUP, 20, 364, 124, 8
  CONTROL "EXENTO :", 119, "Static", WS_GROUP, 20, 376, 124, 8
  CONTROL "MONTO TOTAL :", 120, "Static", WS_GROUP, 20, 388, 124, 8
  CONTROL "0.00", 121, "Static", SS_RIGHT|WS_GROUP, 152, 312, 128, 8
  CONTROL "0.00", 122, "Static", SS_RIGHT|WS_GROUP, 152, 324, 128, 8
  CONTROL "0.00", 123, "Static", SS_RIGHT|WS_GROUP, 152, 352, 128, 8
  CONTROL "0.00", 124, "Static", SS_RIGHT|WS_GROUP, 152, 364, 128, 8
  CONTROL "0.00", 125, "Static", SS_RIGHT|WS_GROUP, 152, 376, 128, 8
  CONTROL "0.00", 126, "Static", SS_RIGHT|WS_GROUP, 152, 388, 128, 8
  CONTROL "Editar", 206, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 96, 324, 48, 12
  CONTROL "Editar", 207, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 152, 336, 128, 12
}
 

Re: SET MSGBAR en DIALOG

PostPosted: Mon Feb 05, 2018 3:03 pm
by Antonio Linares
Albeiro,

Prueba asi:

Code: Select all  Expand view
static function OnInitDlg( oDlg )
   SET MSGBAR OF oDlg TO "" 2015
   oDlg:oMsgBar:Disable()
Return .T.  // para que el primer control tome el foco

Re: SET MSGBAR en DIALOG

PostPosted: Mon Feb 05, 2018 3:14 pm
by karinha
Mira \samples\TESTTITR.PRG y TESTTITR.RC funciona perfecto.

Code: Select all  Expand view

// RESOURCE SCRIPT generated by "Pelles C for Windows, version 7.00".

#include <windows.h>

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

1001 DIALOGEX DISCARDABLE 6, 18, 294, 150
STYLE DS_SHELLFONT|WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|DS_3DLOOK|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION "Dialog"
FONT 8, "Tahoma"
{
  CONTROL "OK", IDOK, "Button", WS_TABSTOP, 168, 124, 45, 15
  CONTROL "Cancel", IDCANCEL, "Button", WS_TABSTOP, 224, 124, 45, 15
  CONTROL "Custom control", 222, "TTITLE", WS_VISIBLE | WS_CHILD, 8, 12, 276, 32
}
 


Salu2

Re: SET MSGBAR en DIALOG (Resuelto)

PostPosted: Mon Feb 05, 2018 3:26 pm
by albeiroval
Antonio, funciona a la perfeccion. Gracias.