Newsgroup: it.comp.lang.delphi
Titolo: Disattivare la rotellina del MOUSE

Ciao ragazzi,
 Come disattivare la rotellina del mouse in una stringgrid ?
 
 Es. l'istruzione mouse.wheel
 è in sola lettura ?
 o come gestire l'evento della stringgrid ? Non mi andava di usare delle
var esterne per punatare alla cella
 Ciao
--- posted by geoForum on 
http://www.delphiedintorni.it

 Come disattivare la rotellina del mouse in una stringgrid ?
Potresti creare un nuovo controllo che discende da *TStringGrid* in cui 
intercetti il messaggio WM_MOUSEWHEEL attraverso un apposito metodo e la 
direttiva *message*, oppure ridefinire il metodo che gestisce i messaggi 
relativi al movimento della rotellina.
Un esempio:
   TMyStringGrid = class (TStringGrid)
   public
     procedure MouseWheelHandler(var Message: TMessage); override;
   end;
   procedure TMyStringGrid.MouseWheelHandler(var Message: TMessage);
   begin
     Message.WParam := 0;
     Message.LParam := 0;
   end;
La soluzione è abbozzata, potrebbero essercene di migliori. :-)
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)
     Non hai la possibilità di scaricare Turbo Delphi Explorer?
     Te lo spedisco io!! [
http://www.marco.breveglieri.name/?p=48
]

Potresti creare un nuovo controllo[...]
Marco, sei sicuro di sapere a chi stai parlando, vero ? :-)

> Marco, sei sicuro di sapere a chi stai parlando, vero ? :-)
Andrea,
Ti chiedo perfavore di non andare in OT su questi post, si parla di un
problema reale e francamente chi lo chiede non mi interessa. Abbiamo gią
avuto una bella lezione dal Troll che ci ha fatto fare una figuraccia
delle peggiori !
Cerchiamo di seguire lo spirito del NG (č un consiglio per tutti).
Ciao ;-)


     Message.LParam := 0;
Grazie Marco,
SEMBRE CHE UTILIZZANDO UN APPLICATION EVENTS (Palette Additional) le cose
vadano molto bene, sulla linea di quanto mi hai proposto.
Ciao e grazie ancora
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
   var
   i: SmallInt;
begin
   if StringGrid1.Focused = false then exit;
   if Msg.message = WM_MOUSEWHEEL then
   begin
     Msg.message := WM_KEYDOWN;
     Msg.lParam := 0;
     i := HiWord(Msg.wParam) ;
     if i > 0 then
       Msg.wParam := 0 //  VK_UP
     else
       Msg.wParam := 0; // VK_DOWN;
     Handled := False;
   end;
end;


 Marco, sei sicuro di sapere a chi stai parlando, vero ? :-)
Direi di no, e ne ho la certezza ora che me lo fai notare. :-)
La cosa divertente è che ora scrive messaggi a nome mio, e ne ha scritto 
uno rispondendo a te ma... sbagliando a quotare. :-D


Abbiamo già avuto una bella lezione dal Troll che ci ha fatto fare una
figuraccia delle peggiori !
Semmai l'ha data a te... ;-)
Ma cosa ti ha portato la Befana ? Un sacco di carbone ? :-D


 La cosa divertente è che ora scrive messaggi a nome mio
e non solo :-)
cmq non è molto facile emulare lo stile di espressione di altre persone come
anche cambiare il proprio ma in caso di dubbi ci bastano pochi click per
verificare la falsa identità.
- Troll, sprechi il tuo tempo -
Ciao
V

uno rispondendo a te ma... sbagliando a quotare. :-D
...ed uno a nome mio rispondendo a te.  I mentecatti si divertono con
poco, evidentemente.  Peccato che non è abbastanza cattivo, per essere
me :-)

Ma cosa ti ha portato la Befana ? Un sacco di carbone ? :-D
Fammi fare battute piů intelligente, te ne prego...