c++ - 开关语句使用

标签 c++ c windows winapi

我应该使用这种形式的 switch 语句吗:

  switch(msg)
  {
    case WM_LBUTTONDOWN:
    {
           char szFileName[MAX_PATH];
           HINSTANCE hInstance = GetModuleHandle(NULL);
           GetModuleFileName(hInstance, (LPWCH)szFileName, MAX_PATH);
           MessageBox(hwnd, (LPCWSTR)szFileName, L"This program is:", MB_OK | MB_ICONINFORMATION);
    }
    break;

    case WM_CLOSE:
        DestroyWindow(hwnd);
    break;
    case WM_DESTROY:
        PostQuitMessage(0);
    break;
    default:
        return DefWindowProc(hwnd, msg, wParam, lParam);
  }
  return 0;

或者为第一个 case 常量创建一个函数?

最佳答案

您拥有它的方式没有任何问题,但它可能是调用函数的更清晰的代码,因此您可以使函数保持合理的大小。

关于c++ - 开关语句使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/718029/

相关文章:

python - Windows文件夹结构中的 'access'和 'modified'次有什么区别?

c++ - 如何在 Windows 上通过句柄重命名文件?

c++ - 根据 id 从列表中删除结构

c - recvfrom() 函数不起作用

c - printf 浮点值的字符串格式

c++ - 在 DirectX 中跨线程传递纹理的数据竞争

c++ - 将 LPWST 转换或转换为 BSTR

c++ - 通过指针运算访问由 "new"创建的单个对象

c++ - Clang 上的重载运算符歧义,但 GCC 上没有,哪个是正确的?

C:交换二维数组中值的函数