VC滑鼠拖動動態畫矩形框

2021-06-05 01:37:48 字數 802 閱讀 2337

要實現的功能實際上很簡單,一般人都用到見慣不慣了,但是實現起來還是有點意思的。

問題詳細描述:(三步)

單擊滑鼠左鍵時記錄下單擊點;

滑鼠拖動時,顯示的矩形框能夠動態的跟隨顯示;

釋放滑鼠左鍵時擦出矩形框。

這樣分析其實問題就簡單一些了,只需要對滑鼠的三個事件進行相應就可以了。

**主要在三處地方修改了:

第一處:view類中設定私有變數(view類.h檔案中)

private:

bool m_startrect;   //繪製矩形框標誌

cpoint m_startpoint; //矩形框開始點

cpoint m_oldpoint;   //矩形框終點(但是它是上一次的點,所以這裡用了old標識)

第二處:view類建構函式中初始化私有變數(view類.cpp檔案中)

cmousedragview::cmousedragview()

第三處:定義訊息響應函式(view類.cpp檔案中)

//單擊滑鼠左鍵

void cmousedragview::onlbuttondown(uint nflags, cpoint point)

//拖動滑鼠

void cmousedragview::onmousemove(uint nflags, cpoint point)

cview::onmousemove(nflags, point);}

//釋放滑鼠左鍵

void cmousedragview::onlbuttonup(uint nflags, cpoint point)

C 控制項篇 滑鼠拖動動態新增的控制項

專案需要對panel裡動態新增的控制項可用滑鼠移動位置,在csdn上找到乙個工程,完全符合要求 記錄下來,以備後用 為了突出智財權,以下 來自 region common mouse event private point mouse offset private point original po...

滑鼠拖動這個矩形 GDI

public partial class moverect form protected override void onpaint painteventargs e protected override void onmousedown mouseeventargs e protected ove...

QOpenglWidget 畫動態矩形

使用的都是opengl的函式,只不過qt再封裝了一遍 在使用過程中有一些注意點,需要記下。我的標頭檔案申明如下 ifndef gldrawwidget h define gldrawwidget h include include include qt forward declare class q...