Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   pregunta sobre listbox (https://www.clubdelphi.com/foros/showthread.php?t=61998)

NEG1414 30-11-2008 09:58:54

pregunta sobre listbox
 
Tengo un ListBox con una serie de items, uno de esos items esta seleccionado, lo que quiero saber es cuando se pulsa con el raton sobre el
ListBox sin ser sobre un item (En la zona en blanco del listbox)
Sin ningun item seleccionado lo sabria con:

Código Delphi [-]ListBox->ItemIndex == -1


pero el problema surge cuando ya hay un Item seleccionado

Gracias.

escafandra 30-11-2008 14:56:07

Existe una forma de localizar si el ratón está en un Item o no: ItemAtPos
Código:

void __fastcall TForm1::ListBox1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    // nItem será el ItemIndex 0 -1 si no es un Item
    int nItem = ListBox1->ItemAtPos(TPoint(X,Y), true);
    ...........
    ...........
}

En funciones en las que no sepas las coordenadas del ratón... Pues las calculas :D:

Código:

void __fastcall TForm1::Función()
{
    TPoint Point;
    ::GetCursorPos(&Point);
    Point = ListBox1->ScreenToClient(Point);
    // nItem será el ItemIndex 0 -1 si no es un Item
    int nItem = ListBox1->ItemAtPos(Point, true);
    ........
    ........
}

Saludos.

NEG1414 30-11-2008 16:46:48

PERFECTO..

Muchiiiiiiiiiiiiiiisimas gracias.


La franja horaria es GMT +2. Ahora son las 07:12:36.

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