FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Borde plano en custom control
Posts: 564
Joined: Thu Oct 13, 2005 09:23 AM
Borde plano en custom control
Posted: Sat Dec 18, 2021 04:49 PM
Hola a todos,

en mis programas utilizo la clase TTagEver - https://github.com/JoseluisSanchez/TTagEver - que incorporo en los díalogos como un custom control de esta manera:

CONTROL "", 110, "TTagEver", 0x50A10000, 8, 8, 245, 90

Es decir, en el apartado Style del control indico 0x50A10000 - que confieso que ni se lo que significa ni de donde lo saqué :-) y el control se ve de esta manera:



Como podeis ver, el campo donde van las etiquetas tiene efecto 3D y me gustaría que el borde fuera plano como el resto de los controles. ¿ Sabéis cómo lo puedo hacer ? Creo que es algo del estilo del control, pero ni idea de qué valor utilizar.

Saludos,
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Borde plano en custom control
Posted: Sat Dec 18, 2021 05:39 PM

José Luis,

La primera idea:

usar Spy++ que viene con Visual Studio Community para comparar los estilos de esos controles

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Borde plano en custom control
Posted: Sat Dec 18, 2021 05:41 PM

Otra opción:

Usar el editor de recursos de Visual Studio Community para revisar los estilos del recurso

También podrias hacerlo usando ResEdit ó PellesC editor de recursos

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Borde plano en custom control
Posted: Sat Dec 18, 2021 05:43 PM

En estos foros buscar por 0x50A10000 y tienes algunos mensajes pero no creo que aclaren lo que buscas

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Borde plano en custom control
Posted: Sat Dec 18, 2021 09:47 PM
Esto? No creo sea la misma cosa,

http://forums.fivetechsupport.com/viewtopic.php?f=3&t=40923

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 564
Joined: Thu Oct 13, 2005 09:23 AM
Re: Borde plano en custom control
Posted: Sun Dec 19, 2021 03:27 PM
Gracias por la contestación.

En la clase original de Paco García el estilo es:

::nStyle = nOR( WS_CHILD, WS_VISIBLE, WS_CLIPSIBLINGS, WS_CLIPCHILDREN, WS_TABSTOP, WS_VSCROLL, WS_BORDER )

Probando a quitar el WS_BORDER me queda el control ... sin el borde. De esta manera:



y en cuanto meto el WS_BORDER el borde me lo pinta en 3D que es lo que no quiero.

Estoy viendo que si abro el .rc con VSCode puedo indicar el estilo con

CONTROL "", 106, "TTagEver", WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_TABSTOP, 50, 85, 256, 33

y luego con ResEdit lo transforma en la cadena hexadecimal apropiada. Muy cómodo para hacer probaturas.

Saludos,
Posts: 564
Joined: Thu Oct 13, 2005 09:23 AM
Re: Borde plano en custom control
Posted: Sun Dec 19, 2021 03:28 PM

¿ No irán los tiros por el .manifest ?

Lo digo porque los controles normales sí cogen borde plano con el manifest pero sin él salen como en 3D.

Saludos,

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Borde plano en custom control
Posted: Sun Dec 19, 2021 05:55 PM

Posiblemente

de todas formas con el Spy++ puedes comparar los estilos y ver que falta, si es que falta algo

Otra opción es que tu pintes el recuadro gris que falta, pero eso es un tanto "chapu", lo suyo es que se pinte por el manifest

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Borde plano en custom control
Posted: Mon Dec 20, 2021 10:04 AM
José Luis,

Sospecho que necesitas poner un
Code (fw): Select all Collapse
::l3D:= .t.
en ese control. No sé como se incorpora por recursos, nunca utilicé recursos, pero muy probablemente van por ahí los tiros

Tambien chapuceando un poco, en el on init del dialogo podrias poner
Code (fw): Select all Collapse
oTag:Set3DLook(.t.)

Salu2
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Borde plano en custom control
Posted: Mon Dec 20, 2021 01:09 PM
Paquito, que hace esto?

Code (fw): Select all Collapse
  SET 3DLOOK ON
  SET MULTIPLE OFF
  SetWin95Look(.T.)  // -> ???


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Borde plano en custom control
Posted: Mon Dec 20, 2021 05:20 PM

Perhaps, look like Windows 95

Look at win95lok.c

Posts: 564
Joined: Thu Oct 13, 2005 09:23 AM
Re: Borde plano en custom control
Posted: Mon Dec 20, 2021 05:44 PM
He conseguido el efecto que quería dejando el control sin borde en los recursos y luego pintando el borde en la propia clase que tiene una data para ello y no lo sabía. Queda de esta manera:



Muchas gracias a todos por vuestra ayuda !!

Saludos,

Continue the discussion