【问题标题】:Get rid of Windows typical styles?摆脱 Windows 典型风格?
【发布时间】:2014-02-10 11:23:26
【问题描述】:

我将开始为 Windows 开发应用程序。但我想摆脱取消按钮和典型的 Windows 格式,例如:

我希望它看起来像这样,摆脱 Windows 格式并以我自己的方式设计我的应用程序。

那么,有人会建议我,怎么做?我搜索了很多,但没有找到任何结果。

【问题讨论】:

    标签: java windows swing winapi


    【解决方案1】:

    如果这个应用程序。是使用 Swing GUI 工具包编写的,它就像使用 JWindow 或调用 Frame.setUndecorated(true) 一样简单。

    【讨论】:

      【解决方案2】:

      很难说你的问题是什么语言,这里是 C++ for WinAPI 的答案:

      像这样创建你的窗口:

      HWND       hWnd;
      WNDCLASS WndCls;
      
      // Create the application window
      WndCls.style         = CS_HREDRAW | CS_VREDRAW;
      WndCls.lpfnWndProc   = WndProcedure;
      WndCls.cbClsExtra    = 0;
      WndCls.cbWndExtra    = 0;
      WndCls.hIcon         = NULL;
      WndCls.hCursor       = LoadCursor(NULL, IDC_ARROW);
      WndCls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
      WndCls.lpszMenuName  = NULL;
      WndCls.lpszClassName = _T("WndClassName");
      WndCls.hInstance     = GetModuleHandle(NULL);
      
      // Register the window class
      RegisterClass(&WndCls);
      
      hWnd = CreateWindow(_T("MyWnd"),
        _T("WndClassName"),
        WS_BORDER,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        NULL,
        NULL,
        ::GetModuleHandle(0),
        NULL);
      

      然后:

      ::ShowWindow(hWnd, SW_SHOW);
      SetWindowLong(hWnd, GWL_STYLE, 0);
      

      您将拥有一个白色矩形应用程序,您可以随心所欲地进行绘画。

      此外,您可以使用 Visual Studio 包中的 Spy++ 监视窗口样式

      【讨论】:

        【解决方案3】:

        它被称为标题栏。通过移除表单边框样式来隐藏它。

        this.FormBorderStyle= System.Windows.Forms.FormBorderStyle.None;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-30
          • 1970-01-01
          • 1970-01-01
          • 2011-07-21
          • 2023-03-07
          • 1970-01-01
          相关资源
          最近更新 更多