c++ builder 鼠标的On Mouse Move事件

来源:百度知道 编辑:UC知道 时间:2024/06/29 22:41:57
我用BCB做了一个播放器,其中有一个歌曲的进度条,通过鼠标的Mouse Move事件来完成播放进度的拖动,现在有这样的一个问题,我可以把进度条上边的指示点拖动到桌面中去,我想问问各位大虾们如何让我拖动的过程中它只能在那个进度条的范围内移动呢?就是说我要知道On Mouse Move的移动范围怎么确定?
我的播放进度条是我用img做的。有两张下面的叫imgTrack上边的叫imgFront我想做的是把imgFront在Mouse Move的时候不要Move出了imgTrack~谢谢各位大侠。怎么做吖?

你的要求中,imgTrack只是底图,因此在这里不于理会。

给出以下代码供参考:
一、程序控件说明:
1、窗体 Form1
2、窗体上一Panl控件 Panel1 (如你的容器为其它也可,只要知道它的宽Width便可)。
3、Image控件 Image1。
二、程序目标:
使Image1在鼠标拖动下左右移动,但不能移出控件Panel1。
三、具体代码:
1、头文件代码:
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPanel *Panel1;
TImage *Image1;
void __fastcall Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift,