VCの水波効果
1642 ワード
ダウンロード先:http://files.cnblogs.com/rogee/WaveObject.rar
水波効果のあるプログラムがずっと羨ましいですが、いかんせんレベルが悪いです.自分では書けないです.せっかく友達に会ったプログラムにこの効果があって、彼にソースコードを要求しました.それはDelphiのコントロールだと分かりました. ふと思い出しました.昔、羅さんのサイトでこのようなアセンブラコードを見たことがあります.だから、「不軌の心」がありました.今日はネットで多くの資料を参考にして、やっとLibをコンパイルしました.対応するヘッダファイルを書きました.ハハ、これからは私のプログラムにもこのような効果があります. ここではASMソースファイルとRasmの工程ファイルとコンパイルしたLib及び.hファイルを提供します.皆さんが好きなように.
具体的な使い方は以下の通りです. 1、このライブラリファイルを先に読み込む
廃棄対象から抜けるコードは以下の通りです.
水波効果のあるプログラムがずっと羨ましいですが、いかんせんレベルが悪いです.自分では書けないです.せっかく友達に会ったプログラムにこの効果があって、彼にソースコードを要求しました.それはDelphiのコントロールだと分かりました. ふと思い出しました.昔、羅さんのサイトでこのようなアセンブラコードを見たことがあります.だから、「不軌の心」がありました.今日はネットで多くの資料を参考にして、やっとLibをコンパイルしました.対応するヘッダファイルを書きました.ハハ、これからは私のプログラムにもこのような効果があります. ここではASMソースファイルとRasmの工程ファイルとコンパイルしたLib及び.hファイルを提供します.皆さんが好きなように.
具体的な使い方は以下の通りです. 1、このライブラリファイルを先に読み込む
#include "./WaveObject/WaveObject.h"
#pragma comment(lib, "./WaveObject/WaveObject.lib")
2、もとのアセンブラコードを確認することで、この倉庫はまず_を使う必要があることが分かります.WaveInit()初期化その後、対応するメッセージ関数に対応する特効関数を呼び出してもいいです.だから私たちはWaveInit()のパラメータは二つの変数を宣言します.WAVE_OBJECT m_WaveObject;
HBITMAP m_hBitmap;
初期化コードは以下の通りです. m_hBitmap = LoadBitmap(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP1)); //
_WaveInit(&m_WaveObject,GetDlgItem(IDC_STATIC1)->GetSafeHwnd(),m_hBitmap,30,0); //IDC_STATIC1 MFC ID
_WaveEffect(&m_WaveObject,1,4,2,180); // , 。
クリック効果の応答を追加します.void CBesUnpackDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
ClientToScreen(&point);
GetDlgItem(IDC_STATIC1)->ScreenToClient(&point);
_WaveDropStone(&m_WaveObject,point.x,point.y,2,256);
CDialog::OnLButtonDown(nFlags, point);
}
その右ボタンの切り替え効果は自分で磨きましょう.廃棄対象から抜けるコードは以下の通りです.
void CBesUnpackDlg::OnClose()
{
_WaveFree(&m_WaveObject); //
CDialog::OnClose();
}