1. 程式人生 > >c++實現按鈕HOVER效果

c++實現按鈕HOVER效果

1.在類中定義成員變數:

//滑鼠事件跟蹤
TRACKMOUSEEVENT * TME;
BOOL m_IsCanTrack;

2.建構函式重初始化:

m_IsCanTrack = TRUE;
TME = new TRACKMOUSEEVENT;

3.新增訊息函式:

afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnMouseHover(UINT nFlags, CPoint point);
afx_msg void OnMouseLeave();

ON_WM_MOUSEMOVE()
ON_WM_MOUSEHOVER()
ON_WM_MOUSELEAVE()

4.函式實現:

void CVMButton::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此新增訊息處理程式程式碼和/或呼叫預設值
CRect rc;
GetClientRect(rc);

if (m_IsCanTrack)
{
TME->cbSize = sizeof(TRACKMOUSEEVENT);
TME->dwFlags = TME_LEAVE | TME_HOVER;
TME->dwHoverTime = 10;
TME->hwndTrack = m_hWnd;

if (::_TrackMouseEvent(TME))
{
m_IsCanTrack = FALSE;
}
}
CButton::OnMouseMove(nFlags, point);
}

void CVMButton::OnMouseHover(UINT nFlags, CPoint point)
{
m_IsCanTrack = FALSE;
ButtonStateMov();

CButton::OnMouseHover(nFlags, point);
}

void CVMButton::OnMouseLeave()
{
// TODO: 在此新增訊息處理程式程式碼和/或呼叫預設值
m_IsCanTrack = TRUE;
ButtonStateSet(m_state);

CButton::OnMouseLeave();
}

相關推薦

c++實現按鈕HOVER效果

1.在類中定義成員變數: //滑鼠事件跟蹤TRACKMOUSEEVENT * TME;BOOL m_IsCanTrack; 2.建構函式重初始化: m_IsCanTrack = TRUE;TME = new TRACKMOUSEEVENT; 3.新增訊息函式: afx_ms

GLSL/C++ 實現濾鏡效果

概念 第一個 美麗 函數 form 一個 傳遞 eve 針對 入門效果之浮雕 "浮雕"圖象效果是指圖像的前景前向凸出背景。常見於一些紀念碑的雕刻上。要實現浮雕事實上很easy。我們把圖象的一個象素和左上方的象素進行求差運算。並加上一個灰度。這個

C#實現具有Aero效果的窗體

 看了一下,網上的教程與程式碼有點複雜…因此,查閱資料後,這篇文章就誕生了… 先看效果圖: 雖然執行起來很漂亮..不過,當你設計的時候,就是你頭痛的了…看下設計圖…嘿嘿嘿嘿…. 主要程式碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

c#實現圖片二值化例子(黑白效果

rec con devel 圖片 round amp bsp 操作 spl C#將圖片2值化示例代碼,原圖及二值化後的圖片如下: 原圖: 二值化後的圖像: 實現代碼:using System; using System.Drawing; namespace BMP2G

C語言實現粒子運動效果,最美C語言!最炫酷C語言!

eight src tps space hit size fad mar font 效果 我有一個微信公眾號,經常會分享一些C語言/C++技術相關的幹貨;如果你喜歡我的分享,可以用微信搜索“C語言學習部落”關註歡迎大家加入千人交流答疑裙:627+012+464C語

c語言 實現ping 功能/效果 檢測當前網路是否連通

#include<stdio.h> #include <unistd.h> int go_ping(char *svrip) {         int i = 0;         whil

[ATL/WTL]_[Gdiplus]_[實現按鈕的陰影效果]

場景 在WTL開發時, 由於介面需要, 很多按鈕都是奇形怪狀的. 比如卡片形狀, 圓角矩形等等. 只要是點選能響應一個事件的, 我們都可以看做是一個異形按鈕. 其中讓按鈕呈現立體效果, 動畫效果等一直是實現自定義按鈕的難點. 系統按鈕一般是帶3D效果的按鈕. 我們

根據滑鼠移入移出方向,實現hover效果

首先,我們要判斷滑鼠移入物件的方向:先獲取該物件的左邊距,然後通過判斷滑鼠距離上面、左面、右面、下面的值的最小值,來獲取滑鼠移入物件的方向。 JS程式碼: ;(function($){ $.fn.extend({ dirMove:function(){ var $outer=this

根據鼠標移入移出方向,實現hover效果

query lse mouse pagex ima wid this animate type 首先,我們要判斷鼠標移入對象的方向:先獲取該對象的左邊距,然後通過判斷鼠標距離上面、左面、右面、下面的值的最小值,來獲取鼠標移入對象的方向。 JS代碼: ;(function($

unity 實現輪盤方式的按鈕滾動效果

近期在專案中,策劃給出了一個需求就是,讓按鈕按照一個輪盤的軌跡進行滑動的效果,經過一番測試,實現了初步的效果。 我這裡區分了橫向滑動和縱向滑動,這裡以縱向滑動為例子進行示範,實現按鈕的滑動效果。 首先就是先進行位置初始化: /// <summary>

使用CSS實現按鈕點選波紋效果

                     有的網站會為按鈕新增點選波紋效果提升網站效果,我們可以簡單實現一下:主要藉助::after偽類及CSS3中的transform和transition屬性: html:<div class="container text-center">        &l

CSS實現的滑鼠經過按鈕效果

{background-color:#CCCCCC;border-left:1px solid #F5F5F5;border-top:1px solid #F5F5F5;border-right:1px solid #333333;border-bottom:1px solid #333333;width:8

c# 實現用滑鼠拖動沒有標題欄的視窗(窗體的任何部分都可實現拖動效果)

上面形式的窗體,實現窗體的任何部分都可實現拖動 首先需要引入非託管程式碼,直接呼叫windows api         public const int WM_NCLBUTTONDOWN = 0xA1;         public const int HT_CAPT

selector實現按鈕選中高亮效果原理

按鈕選中高亮常規程式碼如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">

css實現按鈕點選效果

在html中設定class: <button class="button1">click</button> css中如下所示: .button1{     position: relative; /** 相對佈局 **/ } .button1

C#實現氣泡屏保效果(用4個timer)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.

用一張圖片實現按鈕按下和普通效果的樣式

第一種方法(強烈推薦) 方法:selector做遮罩,原圖做background。 我們做按鈕的時候經常需要用兩個圖片來實現按鈕點選和普通狀態的樣式,這就需要提供兩種圖片,而且每個解析度下還有多套圖片,大大增加了apk的大小。 我們希望讓這兩張圖片合二為一,而且還能實現兩種或者多種狀態,怎麼做呢?我

c#在winform中用DataGridView實現分頁效果

public partial class Form11 : Form     {         public Form11()         {             InitializeComponent();         }         priv

點選按鈕實現遮罩效果

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD>  <TITLE> New Document </TITLE> 

Android selector 最佳寫法 用一張圖片實現按鈕按下和普通效果的樣式

第一種方法(強烈推薦) 方法:selector做遮罩,原圖做background。 我們做按鈕的時候經常需要用兩個圖片來實現按鈕點選和普通狀態的樣式,這就需要提供兩種圖片,而且每個解析度下還有多