Ver Mensaje Individual
  #6  
Antiguo 03-03-2024
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ajustando un poco ComboBox1DrawItem para que centre bien la opción elegida al dibujarla en la zona EDIT del ComboBox:


Código PHP:
void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Controlint Index,
      
TRect &RectTOwnerDrawState State)
{
  
TComboBox *CB dynamic_cast<TComboBox*>(Control);
  if(
CB){
    
CB->Canvas->FillRect(Rect);
    if(!
State.Contains(odComboBoxEdit))
      
Rect.Right -= GetSystemMetrics(SM_CXVSCROLL);
    
SetTextAlign(CB->Canvas->HandleTA_CENTER);
    
CB->Canvas->TextOut(Rect.Right/2Rect.Top + (CB->ItemHeight CB->Font->Height)/2CB->Items->Strings[Index]);
  }


El ajuste con GetSystemMetrics(SM_CXVSCROLL) es para que al desplegar el ComboBox no de la sensación de incoherencia en el centrado entre Items y la zona EDIT.


Saludos.
Responder Con Cita