OT: Delphi - opet scrollovani v D6 - problem
Prichy
prichy@volny.cz
Sobota Leden 8 20:06:27 CET 2005
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
Další informace o konferenci Hw-list