私はMsgProc
のようなものをWin32で作成しようとしています。彼らがMsgProc
関数を宣言するとき、その前にCALLBACK
型があります。だから私がしようとしているのは、メッセージを処理する関数を呼び出す独自のmesssage関数を作成することです。メッセージが送信されて処理されるときは、基本的に同じことです。私の質問は、私はどのように同じプロセスを作成できますか?例が素晴らしいだろう。C++ CALLBACK関数タイプ
3
A
答えて
1
新しいC++ 0x lambdasが興味を持っている古典的な関数ポインタと関数オブジェクト以外のものです。
ここでは、ラムダをタイマー関数に渡す例を示します。
#include <windows.h>
#include <iostream>
#include <functional>
void onInterval(DWORD interval, std::function<void()> callback) {
for (;;) {
Sleep(interval);
callback();
}
}
int main() {
onInterval(1000, []() {std::cout<<"Tick! ";});
}
0
あなたがC++にしている場合は、ちょうどあなたのクラスで関数ポインタを使用します。
0
あなたはブーストを使用することができる場合、私は間違いなくBoost.Signalsに打撃を与えるだろう、彼らはあなたが探している機能を提供します(Boost.Signals2でもスレッドセーフな方法で)
関連する問題
- 1. C++関数タイプ?
- 2. Facebook deauthorize callback C#
- 3. 既知のタイプのC++バリアント関数テンプレート
- 4. AppFabric CallBack
- 5. asychromous callback
- 6. Windows API関数宣言の "CALLBACK"は何を意味しますか?
- 7. javascript window.open from callback
- 8. jQuery image load callback
- 9. jQuery Create Callback
- 10. ハスケルマップ関数のタイプ詳細
- 11. Typescript - 高次関数のタイプ
- 12. "ブロック"タイプのテンプレート関数
- 13. C#からタイプを返すOracle関数を呼び出す
- 14. Django Callback on Facebookクレジット
- 15. about chrome.tabs.executeScript(id、details、callback)
- 16. angle acsess 'this' in callback
- 17. この関数のApt戻り値タイプ
- 18. タイプ(変数)対変数(タイプ)
- 19. ハスケル/ミランダ:関数のタイプを探す
- 20. IOS Grand Central Dispatch with callback method
- 21. FacebookのコメントBox Callback on Load?
- 22. フロー・ジャバスクリプト・タイプ・チェッカーの関数のタイプは何ですか?
- 23. タイプXは「コンストラクタ関数タイプ」(TS2507)ではありません
- 24. ポストスクリプト関数辞書タイプの作成0
- 25. タイプのハスケル関数:IO String-> String
- 26. ある種の「母関数」タイプ
- 27. Variadicテンプレート、タイプ控除とstd ::関数
- 28. Goで関数タイプを操作する
- 29. タイプ消去と可変テンプレートメンバー関数
- 30. C#ModInverse関数
CALLBACKは、__stdcallとして定義されたマクロです。これは、コールバックの呼び出し規約をwin32 APIの呼び出し規約に設定します。独自のコードでコールバックを実装するには、Windows APIを扱わない限りこのマクロは必要ありません。 –