FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Problem with a Dialog with TRANSPARENT clause
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Problem with a Dialog with TRANSPARENT clause
Posted: Fri May 13, 2011 07:33 AM
I have a dialog defined in resources (an .rc) written using Pelles Resource Editor. In the lower part there is a white rectangle to frame the buttons, declared as an static, shown in picture behind the buttons, framed with a red rectangle . If a normal dialog is used, without any aditional clauses and using the default colors everything works fine, but if the background color is changed and the dialog's clause TRANSPARENT is used the white recntangle is not shown any more. If the clause TRANSPARENT is not used the SAY's don't show the dialog's backgroung colour.


The code of the dialog

Code (fw): Select all Collapse
   DEFINE DIALOG oDlg RESOURCE "CLIENTES_FORM" HELPID 0 COLOR CLR_TEXTO, CLR_FONDO TRANSPARENT
      oDlg:lHelpIcon := .f.

      REDEFINE GET oRB:Codigo        ID 101 OF oDlg VALID NoExiste( oRB:Codigo, 'Clientes', 'Codigo' )
      REDEFINE CHECKBOX oRB:Exterior ID 113 OF oDlg
      REDEFINE GET oRB:Cif           ID 102 OF oDlg VALID CIFValido( oRB:CIF ) .Or. oRB:Exterior
      REDEFINE GET oRB:Empresa       ID 103 OF oDlg VALID !Empty( oRB:Empresa )
      REDEFINE GET oRB:Direccion     ID 104 OF oDlg
      REDEFINE GET oRB:Localidad     ID 105 OF oDlg
      REDEFINE GET oRB:Postal        ID 106 OF oDlg
      REDEFINE GET oRB:Capital       ID 107 OF oDlg
      REDEFINE GET oRB:Contacto      ID 117 OF oDlg
      REDEFINE GET oRB:Telefono      ID 108 OF oDlg
      REDEFINE GET oRB:Telefono2     ID 109 OF oDlg
      REDEFINE GET oRB:Fax           ID 110 OF oDlg
      REDEFINE GET oRB:Movil         ID 111 OF oDlg
      REDEFINE GET oRB:EMail         ID 112 OF oDlg
      REDEFINE CHECKBOX oRB:Activo   ID 116 OF oDlg
      REDEFINE CHECKBOX oRB:Excl347  ID 118 OF oDlg
      REDEFINE GET oRB:CtaClte       ID 114 OF oDlg
      REDEFINE GET oRB:CtaPago       ID 115 OF oDlg

      REDEFINE BUTTON oBtn ID 201 OF oDlg ACTION (oDlg:End(), lOk:= .T.)
      REDEFINE BUTTON oBtn ID 202 OF oDlg ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTER


the rc's source

Code (fw): Select all Collapse
CLIENTES_FORM DIALOGEX DISCARDABLE 6, 18, 259, 236
STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION "Clientes"
FONT 8, "MS Shell Dlg", 0, 0, 1
{
  CONTROL "", 4001, "Static", SS_WHITERECT|SS_CENTERIMAGE, 0, 205, 259, 31
  CONTROL "Código", 50, "Static", WS_GROUP, 12, 10, 44, 8, WS_EX_TRANSPARENT
  CONTROL "", 101, "Edit", ES_RIGHT|WS_BORDER|WS_TABSTOP, 61, 8, 36, 12
  CONTROL "Exterior", 113, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 103, 9, 37, 10
  CONTROL "CIF/NIF", 51, "Static", WS_GROUP, 148, 10, 31, 8
  CONTROL "", 102, "Edit", WS_BORDER|WS_TABSTOP, 181, 8, 70, 12
  CONTROL "Nombre", 52, "Static", WS_GROUP, 12, 25, 44, 8, WS_EX_TRANSPARENT
  CONTROL "", 103, "Edit", WS_BORDER|WS_TABSTOP, 61, 23, 190, 12
  CONTROL "Domicilio", 53, "Static", WS_GROUP, 12, 40, 44, 8
  CONTROL "", 104, "Edit", WS_BORDER|WS_TABSTOP, 61, 38, 190, 12
  CONTROL "Localidad", 54, "Static", WS_GROUP, 12, 55, 44, 8
  CONTROL "", 105, "Edit", WS_BORDER|WS_TABSTOP, 61, 53, 190, 12
  CONTROL "Código postal", 55, "Static", WS_GROUP, 12, 71, 44, 8
  CONTROL "", 106, "Edit", ES_RIGHT|WS_BORDER|WS_TABSTOP, 61, 69, 36, 12
  CONTROL "Provincia", 56, "Static", WS_GROUP, 106, 71, 36, 8
  CONTROL "", 107, "Edit", WS_BORDER|WS_TABSTOP, 142, 69, 109, 12
  CONTROL "Contacto", 64, "Static", WS_GROUP, 12, 87, 38, 8
  CONTROL "", 117, "Edit", ES_AUTOHSCROLL|ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 61, 85, 190, 12
  CONTROL "Teléfono 1", 57, "Static", WS_GROUP, 12, 102, 38, 8
  CONTROL "", 108, "Edit", ES_AUTOHSCROLL|ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 61, 100, 190, 12
  CONTROL "Teléfono 2", 58, "Static", WS_GROUP, 12, 117, 38, 8
  CONTROL "", 109, "Edit", ES_AUTOHSCROLL|ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 61, 115, 190, 12
  CONTROL "Fax", 59, "Static", WS_GROUP, 12, 132, 38, 8
  CONTROL "", 110, "Edit", ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 61, 130, 75, 12
  CONTROL "Móvil", 60, "Static", WS_GROUP, 152, 132, 21, 8
  CONTROL "", 111, "Edit", ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 176, 130, 75, 12
  CONTROL "correo-e", 61, "Static", WS_GROUP, 12, 147, 38, 8
  CONTROL "", 112, "Edit", WS_BORDER|WS_TABSTOP, 61, 145, 190, 12
  CONTROL "Activo", 116, "Button", BS_CHECKBOX|WS_TABSTOP, 62, 162, 40, 10, WS_EX_TRANSPARENT
  CONTROL "Cuenta cliente", 62, "Static", WS_GROUP, 12, 187, 51, 8
  CONTROL "", 114, "Edit", ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 61, 185, 64, 12
  CONTROL "Cuenta cobros", 63, "Static", WS_GROUP, 134, 187, 50, 8
  CONTROL "", 115, "Edit", ES_WANTRETURN|WS_BORDER|WS_TABSTOP, 187, 185, 64, 12
/// ESTA ES
  CONTROL "", 4002, "Static", SS_ETCHEDHORZ|SS_CENTERIMAGE|WS_BORDER, 12, 177, 240, 1
/// ESTA ES
  CONTROL "&Aceptar", 201, "Button", WS_TABSTOP, 153, 213, 45, 15
  CONTROL "&Cancelar", 202, "Button", WS_TABSTOP, 206, 213, 45, 15
  CONTROL "Excluir del 347", 118, "Button", BS_CHECKBOX|WS_TABSTOP, 145, 162, 60, 10, WS_EX_TRANSPARENT
}


and the problem in the dialog:



It seems that the problem is in the function FIXSAYS, that changes the STATICS for the background don't get painted, the problem it that it also changes the STATICs that are not SAYS. Just guessing, the source code for that function is not available in FWH 11.04.

Any clue?
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"

Continue the discussion