Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Conocer la altura de un ítem en un TListView (https://www.clubdelphi.com/foros/showthread.php?t=97999)

Angel.Matilla 20-02-2026 11:54:54

Conocer la altura de un ítem en un TListView
 
Buenos días. He estado mirando y no he encontrado ninguna forma de saber la altura que tiene cada ítem de un TListView. Lo único parecido que he encontrado ha sido un código que facilitó _Leo en otro foro para calualr la altura de cada línea de un QRMemo:
Código:

// Calculamos la altura exacta de una línea
SIZE size;
HDC hdc = GetDC(QRMemo1->Handle);
SelectObject(hdc, QRMemo1->Font->Handle);
GetTextExtentPoint32(hdc, "Mg", 2, &size);
ReleaseDC(QRMemo1->Handle, hdc);


Angel.Matilla 20-02-2026 12:45:58

Me respondo a mi mismo. Había escrito mal una de las líneas. Quedaría así:
Código:

int BorderWidth;
TRegistry *rRegistro = new TRegistry();

rRegistro->RootKey = HKEY_CURRENT_USER;
if (rRegistro->OpenKeyReadOnly("Control Panel\\Desktop\\WindowMetrics"))
    BorderWidth = MulDiv(-StrToFloat(rRegistro->ReadString("PaddedBorderWidth")), Screen->PixelsPerInch, 1440);

// Calculamos la altura exacta de una línea
SIZE size;
HDC hdc = GetDC(Lista->Handle);
SelectObject(hdc, Lista->Font->Handle);
GetTextExtentPoint32(hdc, "Mg", 2, &size);
ReleaseDC(Lista->Handle, hdc);

// Calculamos la altura del ListView para que muestre todas las líneas
Lista->Height = 2 * BorderWidth + size.cy * Lista->Items->Count;

Siendo Lista el TListView.


La franja horaria es GMT +2. Ahora son las 03:25:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi