Pregunta

Tengo un TListView y TPopupMenu, y yo quiero mostrar un menú contextual cuando hago clic derecho en un TListItem. He probado el "emergentes automáticamente" mediante la asignación del componente, pero en un clic derecho en el PopupMenu sólo se muestra y el elemento deseado no está seleccionado. Así que traté de usar el "OnMouseDown", pero tenemos que hacer clic y clic de nuevo para mostrar el menú en el punto deseado. El primer clic es para seleccionar el elemento y el segundo muestra el menú. Pero quiero sólo un clic para hacer las dos cosas. ¿Tiene usted y la idea sobre el problema?

Gracias.

¿Fue útil?

Solución 3

Problema resuelto. Como era de esperar, yo estaba tene usar TPopUpActionaBar, por lo que un simple usuario TPopupMenu Cuando se utiliza un TPopupMenu, no hay problema! (Disculpen mi mala Inglés!) Gracias.

Otros consejos

Creo que este código resuelve el problema:

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then
    ListBox1.Perform(WM_LBUTTONDOWN, 0, MakeLParam(Word(X), Word(Y)));
end;

En primer lugar añadir un TPopupMenu a su forma y definir los elementos que desea mostrar en esto (en Delphi 2010, haga doble clic en el icono de menú emergente para entrar en el editor de elementos)

En segundo lugar establecer el elemento PopUpMenu en el TListView a la TPopupMenu recién creado.

Si los dos están configurado correctamente, al hacer clic en el TListView podrás ver los artículos definidos, y el fuego apagado de su on-evento Click

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top