Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Click Derecho En String Grid (https://www.clubdelphi.com/foros/showthread.php?t=62377)

jogagua 19-12-2008 00:37:18

Click Derecho En String Grid
 
Buenas, espero puedan ayudarme....

El problema que tengo es que estoy intentando hacer el jueguito del buscaminas porque es tarea para la uni, y aunque he tenido algunos problemas, he logrado hacerlo hasta cierto punto.

Ya logré hacer que con el click en una mina se pierda, con el click en un numero lo diga y con el click en una casilla vacia se destaparan tal cual lo hace el buscaminas del windows.

El problema que tengo es que no encuentro ninguna opcion para poner que marque una mina cuando se de click derecho en una celda.

El click izquierdo lo he programado con un tringGrid1SelectCell y me ha funcionado, pero cual se usa para el click derecho?

Por favor necesito respuesta lo antes posible. Gracias...

Caral 19-12-2008 00:44:05

Hola
Si nos das codigo no solo podremos tratar de ayudar, tambien aprenderemos.
Saludos

Caral 19-12-2008 01:13:22

Hola
Una pequeña busqueda.
Saludos
PD: El que busca encuentra.:D:p

Caro 19-12-2008 02:18:31

Hola jogagua, los eventos OnMouseDown, OnMouseMove y OnMouseUp tienen el parametro Shift que te indica el boton que se ha presionado en el Mouse o si se ha presionado la tecla shift, alt... Para el click derecho es ssRight, pero no es suficiente saber que se ha presionado click derecho, si haces una prueba no se va a posicionar en la celda que selecciones, para que haga eso puedes utilizar el procedimiento MouseToCell que nos devuelve la fila y columna de las coordenadas X y Y.

Código Delphi [-]
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
 Col, Row : Integer;
begin
 if Shift = [ssRight] then
  begin
   StringGrid1.MouseToCell(X, Y, Col, Row);
   if (Row<>0) and (Col<>0) then
    begin
     StringGrid1.Row := Row;
     StringGrid1.Col := Col;
    end;
  end;
end;

Saluditos

jogagua 21-12-2008 13:32:56

Jueguito Terminado
 
Buenas, de verdad muchas gracias por sus respuestas.

Disculpen la tardanza en responder, pero no pude conectarme a internet antes, y ademas queria terminar el jueguito para enviarselos si alguno lo quiere. No escribi el codigo por aca por cuestiones de que es muy largo. Pero cualquier duda que tenga alguno sobre como hacer una determinada cosa me dicen y tratare de ayudar.

Me despido, dando de nuevo gracias por ayudarme.:)


La franja horaria es GMT +2. Ahora son las 13:05:16.

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