Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Invocar OnMouseDown (https://www.clubdelphi.com/foros/showthread.php?t=94652)

Angel.Matilla 11-05-2020 11:07:19

Invocar OnMouseDown
 
Espero que todos se encuentren bien dentro de este follón en el que estamos metidos.

En un formulario tengo declarado un TVirtualStringTree y necesito que si se selecciona determinado elemento en función de un valor se llame al evento OnMouseDown pero no sé como hacer la llamada. Estoy probando con esto:
Código:

void __fastcall TfSocios::LisSocDblClick(TObject *Sender)
{
    POINT MousePos;
    GetCursorPos(&MousePos);

    if (((PTreeSoc)LisSoc->GetNodeData(LisSoc->FocusedNode))->Socio < 1)
          LisSocMouseDown(NULL, mbRight, ssRight, MousePos.x, MousePos.y);
}

pero ponga lo que ponga en el tercer parámetro (TShifState Shift) me da error de compilación; si pongo ssRight me dice que no puedo convertir Classes__1 en TShiftState, etc. ¿Alguna idea de como puedo hacer esa llamada?

escafandra 11-05-2020 13:54:16

Trata de esta manera:

Código PHP:

void __fastcall TfSocios::LisSocDblClick(TObject *Sender)
{
     
POINT MousePos;
     
GetCursorPos(&MousePos);

     if (((
PTreeSoc)LisSoc->GetNodeData(LisSoc->FocusedNode))->Socio 1)
          
LisSocMouseDown(NULLmbRightTShiftState() << ssRightMousePos.xMousePos.y);


Para conocer el valor de TShiftState Shift:
Código PHP:

Shift.Contains(ssRight

Saludos.

Angel.Matilla 12-05-2020 10:48:38

Perfecto. Muchas gracias.


La franja horaria es GMT +2. Ahora son las 09:52:49.

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