みんな何かやってみたいし、少し助けが必要です。私がやりたいのは、いくつかの関数を作成し、それらのポインターを配列に格納してから、Windowsメッセージプロシージャ内でそれらを呼び出すことです。例えば:
int create_functions[10];
int paint_functions[10];
int func1() {
// code
}
void func2(int arg1) {
// code
}
create_functions[0] = *func1; // add pointer of func1 to the first array
create_functions[1] = *func2; // add pointer of func2 to the second array
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_CREATE:
// execute create_functions[0] - How do I do it?
case WM_PAINT:
// execute paint_functions[0] - How do I do it?
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
break;
}
return 0;
}
私は誰かが尋ねるのを知っています:なぜfunc1 /func2を直接実行しないのですか?実行時に実行する関数を決定するためです。皆さんの助けに感謝します!
編集: コールバック関数はどうですか?使い方がよくわかりませんか?