Delphi - opet scrollovani v D6 - problem

Tomáš Werschall tom84@seznam.cz
Neděle Leden 9 13:19:31 CET 2005


A co jeste zjistovat zda je mys nad elementem ci neni?Pokud ano ak provadet
skrolovani, jinak ne.Jinak to co popisujete je standartne ve woknech.
----- Original Message -----
From: "Prichy" <prichy@volny.cz>
To: <hw-list@hw.cz>
Sent: Saturday, January 08, 2005 8:06 PM
Subject: OT: Delphi - opet scrollovani v D6 - problem


Zdravim vsechny a zadam o nasmerovani:

Kdyz jsem zjistil, ze v Delphi 6 nefunguje scrollovani
koleckem mysi  RichEditu (zatimco Memo chodi) a navic
jsem potreboval rolovat i ScrollBox (v nem 2 panely a nejake
 neokeni komponenty) napsal jsem si nasl. obsluhu OnMouseWheel XX

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
var
  hWnd1, hWnd2,hWnd3,hWnd4,hWnd5: THandle;
  rPos: TPoint;
begin
  if boolean(GetCursorPos(rPos))
  then
  begin
  hWnd1 := WindowFromPoint(rPos);     // vraci handle z objektu pod  mysi
  hWnd2:= RichEdit1.Handle;
  hWnd5:= ListBox2.Handle;
  If hWnd1 = hWnd2 then RichEdit1.Perform(WM_VSCROLL,SB_LINEDOWN,0);
  If hWnd1 = hWnd5 then ListBox2.Perform(WM_VSCROLL,SB_LINEDOWN,0); //
po uprave
  hWnd1 := WindowFromPoint(rPos);
  hWnd2:= ScrollBox1.Handle;
  hWnd3:= Panel3.Handle;
  hWnd4:= Panel4.Handle;
  If (hWnd1 = hWnd2) or (hWnd1=hWnd3) or (hWnd1=hWnd4) then
ScrollBox1.Perform(WM_VSCROLL,SB_LINEDOWN,0);
 end;
end;

Chodi to slusne, kdyz je nad komponentou mys roluje se prave ona.

Ale pri dalsim vyvoji softu jsem na form umistil ListBox2, nastal problem.
Zustane-li focus na ListBoxu roluje tento i kdyz nechci. ( jsem mysi
jinde a chci
rolovat komponentu pod mysi)  To znamena ListBox si ubsluhuje OnMouseWheelXX
a sam si roluje, coz je nezadouci.

Vi, prosim, nekdo jak tomu zamezit.


Dekuji za napady a prosim spise polopaticky, pravdepodobne
vim, ze pujde o "chytani zprav" a nejsem s tomto buhvijak zdatny :)

Prichy

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list