Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2014
gonzalovw gonzalovw is offline
Registrado
NULL
 
Registrado: oct 2014
Posts: 2
Poder: 0
gonzalovw Va por buen camino
Capturar click del boton medio del mouse

Estimados,
Antes que todo gracias por aceptarme. Hace muy poco me todo hacer modificaciones en una aplicacion de windows hecha en delphi y la verdad que es la primera vez que hago algo en este lenguaje.
El inconveniente que tengo es hacer que el click del boton medio del mouse me dispare la accion de un boton sin importar en la posicion de la pantalla que me encuentre.
Estuve leyendo varias cosas y todos hablan de Hook pero la verdad es que probe varios ejemplos y no logro hacer que detecte cuando presiono el boton.

Espero puedan ayudarme!
Desde ya muchas gracias!!!
Gonzalo.
Responder Con Cita
  #2  
Antiguo 23-10-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No se entiende bien tu pregunta. Un botón tiene el evento OnClick que se ejecutará siempre que hagas clic en el botón y sólo se puede hacer clic sobre un botón cuando el ratón está sobre él.

// Saludos
Responder Con Cita
  #3  
Antiguo 24-10-2014
gonzalovw gonzalovw is offline
Registrado
NULL
 
Registrado: oct 2014
Posts: 2
Poder: 0
gonzalovw Va por buen camino
Ahi lo solucione!

En donde capturo todos lo eventos le agregue lo siguiente:

Código Delphi [-]
Case Msg.message of
    WM_MBUTTONDOWN:

Ahi capturo el click del boton del medio y luego ejecuto el click del boton!

Código Delphi [-]
procedure TfPrincipal.eventosMessage(var Msg: tagMSG; var Handled: Boolean);
var
  err: EdsError;
  archivo,archivoRaw,extFile,destino: string;
begin
  Handled := false;
  //if (Msg.message = WM_CANCELJOURNAL) and FHookStarted then
  //  JHook := SetWindowsHookEx(WH_JOURNALRECORD, @JournalProc, 0, 0);
  Case Msg.message of
    WM_MBUTTONDOWN:
      begin
        if bCapturar.Enabled then
          bCapturar.Click
      end;
    WM_USER + 1: { Property Event occurred } // Por ahora no manejo los cambios de propiedades
      begin
        if Msg.wParam = kEdsPropertyEvent_PropertyChanged then
        // get property
        begin
          FAppMaster.getProperty(Msg.lParam);
          // UpdateProperty( Msg.lParam );
          Handled := true;
        end;

        if Msg.wParam = kEdsPropertyEvent_PropertyDescChanged then
        // get property desc
        begin
          FAppMaster.getPropertyDesc(Msg.lParam);
          // UpdatePropertyDesc( Msg.lParam );
          Handled := true;
        end;
      end;

    WM_USER + 2: { Object Event occurred }
      begin
        archivo := 'ImgTmp' + IntToStr(camActiva) + '.jpg';
        archivoRaw := 'RawTmp' + IntToStr(camActiva) + '.cr2';
        err := FAppMaster.getImageData(EdsBaseRef(Msg.lParam), pTemp, archivo, archivoRaw, extFile);
        if extFile = '.CR2' then
              procesarImagenRecibidaRaw(archivoRaw, camActiva, nFoto);
        Application.ProcessMessages;
        if err <> EDS_ERR_OK then
          MessageDlg('Error en la recepción de imagen (' + IntToStr(err) + ')',
            mtError, [mbOk], 0)
        else
        begin
          if not enCaptura then
          begin
// no hace nada... esto deberia eliminar los disparos manuales...
          end
          else
          begin
            if not enTest and not enRepeticion then
              nFoto := nFoto + 1;
            procesarImagenRecibida(archivo, camActiva, nFoto);
          end;
        end;
        enCaptura := false;
        Handled := true;
      end;

    WM_USER + 3: { Progress callback event }
      begin
        ajustarProgreso(Msg.wParam);
        Handled := true;
      end;
  end;

end;

Saludos!
Gracias!!

Última edición por roman fecha: 24-10-2014 a las 15:58:04. Razón: Etiquetas [delphi]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear Objeto 3D por medio de botón en glscene!! chinnamasta Varios 1 05-07-2012 13:51:30
Capturar el movimiento del mouse radenf Varios 6 14-01-2011 00:17:28
click en boton titomigue Internet 2 21-05-2010 18:05:14
Anular el boton derecho del mouse? marceloalegre Varios 10 16-08-2007 22:39:48
Boton derecho del mouse (please) sac OOP 3 29-04-2007 14:07:16


La franja horaria es GMT +2. Ahora son las 11:53:07.


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