Ver Mensaje Individual
  #15  
Antiguo 08-12-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
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 NewGBWndProcTMessage& );
    
TWndMethod OldGBWndProc;
//-------------------------------------------------------------
__fastcall TForm1::TForm1(TComponentOwner)
        : 
TForm(Owner)
{
    
RadioGroup1->Brush->Style bsClear;
    
long exstyle GetWindowLongGroupBox1->HandleGWL_EXSTYLE );
    ::
SetWindowLongGroupBox1->HandleGWL_EXSTYLEexstyle WS_EX_TRANSPARENT );
    
OldGBWndProc GroupBox1->WindowProc;
    
GroupBox1->WindowProc NewGBWndProc;
}
//-------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
    
GroupBox1->WindowProc OldGBWndProc;
}
//-------------------------------------------------------------
void __fastcall TForm1::NewGBWndProcTMessage &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 );
                
SetBkModehDCTRANSPARENT );
                
Message.Result reinterpret_cast<LONG>( GetStockObject(NULL_BRUSH) );
                return;
            }
      }
    
OldGBWndProcMessage );
}
//------------------------------------------------------------- 

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