Ver Mensaje Individual
  #3  
Antiguo 08-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 14
aguml Va por buen camino
Gracias amigo, los código del radiogroup y del listbox no me surten ningún efecto.
He estado probando los componentes de TMS que entre todo lo que trae vienen esos componentes con transparencia pero van de pena y tan lento que se puede ver cómo aplica la transparencia. Lo que tú estás haciendo es infinitamente más eficiente.
Si pudieras revisar esos dos componentes te estaría muy agradecido.
Ya luego me tocaría empollar y ver cómo pasarlos a componentes.
Encontré este código para un radiogroup por si es de utilidad:
Código PHP:
private:    // User declarations
    
void __fastcall NewGBWndProc( TMessage& );
    
TWndMethod OldGBWndProc;
//-------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : 
TForm(Owner)
{
    
RadioGroup1->Brush->Style = bsClear;
    
long exstyle = GetWindowLong( GroupBox1->Handle, GWL_EXSTYLE );
    ::
SetWindowLong( GroupBox1->Handle, GWL_EXSTYLE, exstyle | WS_EX_TRANSPARENT );
    
OldGBWndProc = GroupBox1->WindowProc;
    
GroupBox1->WindowProc = NewGBWndProc;
}
//-------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
    
GroupBox1->WindowProc = OldGBWndProc;
}
//-------------------------------------------------------------
void __fastcall TForm1::NewGBWndProc( TMessage &Message )
{
    if( 
Message.Msg == WM_CTLCOLORSTATIC )
      {
          
HWND hWnd = reinterpret_cast<HWND>( Message.LParam );
          if( 
hWnd == RadioButton1->Handle || hWnd == RadioButton2->Handle )
            {
                
HDC hDC = reinterpret_cast<HDC>( Message.WParam );
                
SetBkMode( hDC, TRANSPARENT );
                
Message.Result = reinterpret_cast<LONG>( GetStockObject(NULL_BRUSH) );
                return;
            }
      }
    
OldGBWndProc( Message );
}
//------------------------------------------------------------- 

Última edición por aguml fecha: 08-12-2017 a las 02:10:16.
Responder Con Cita