每个人我都想尝试一些东西,我需要一点帮助。我想做的是创建一些函数,将它们的指针存储到一个数组中,然后在 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。因为我将决定在运行时执行哪些功能。感谢大家的帮助!
编辑: 回调函数呢?我不太明白如何使用它们?