Ver Mensaje Individual
  #18  
Antiguo 23-06-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 14
aguml Va por buen camino
Genial, me sigue mostrando el rectangulo naranja pero ahora me gusta como queda jajaja.
Antes al haber ampliado el alto de linea me seleccionaba solo digamos el texto y si seleccionaba mas de uno se quedaban espacios blancos entre ellos y ahora no pasa y ademas no necesito activar el doublebuffered con lo que es una gran mejora .
Ahora tengo otro problema. Necesito que el Listbox siempre deje el mismo espacio en el lado derecho de la cadena mas larga. Ahora mismo lo tengo así:
Código PHP:
void __fastcall TForm1::SetScrollWidth(TListBox *lbint WidthIcon)
{
    
int MaxWidth = -1;
    
int WidthScrollV GetSystemMetrics(SM_CXVSCROLL);

    
// assign control's font to canvas
    
lb->Canvas->Font lb->Font;
    if(
lb->Items->Count 0){
        for(
int i 0lb->Items->Counti++)
        {
            
String text lb->Items->Strings[i];
            
int len lb->Canvas->TextWidth(text);
            if(
MaxWidth len)
                
MaxWidth len;
            
// consider non-client area
            
if(MaxWidth != -1){
                
lb->ScrollWidth = (MaxWidth lb->Width WidthIcon WidthScrollV lb->ClientWidth);
            }
        }
    }else{
        
lb->ScrollWidth 0;
    }

Y la llamo así:
Código PHP:
SetScrollWidth(ListBoxSeleccionadosImageListSeleccionados->Width); 
El problema es que cuando muestra el scrollbar vertical hay mas espacio en blanco que cuando no aparece. Se que es una tontería pero me gustaria saber como solucionarlo. Gracias.
Responder Con Cita