如何在awesomium应用程序中隐藏关闭,最小化和最大化按钮和周围边缘?

时间:2016-06-12 15:17:45

标签: c++ awesomium

是否可以隐藏原生关闭,最大化和最小化按钮以及窗口周围的边缘,这些边缘可以支撑一个应用程序..

enter image description here

我正在寻找一种方法来设计漂亮的关闭,最大化和最小化html文档中的按钮将执行隐藏的本机按钮的功能。

这是我的c ++代码

// Inherited from Application::Listener
  virtual void OnLoaded() {
    view_ = View::Create(500, 300);

    WebURL url(WSLit("file:///C:/Users/awesomium/Documents/app.html"));
    view_->web_view()->LoadURL(url);
  }

我的html文件内容低于

<html>
<body>
<h1>Hello World</h1>
<script type="text/javascript">
document.write("You are running Awesomium " + awesomium.version);
</script>
</body>
</html>

注意:我对awesomium和c ++很新(从某种意义上说)......简单来说这很棒!。

1 个答案:

答案 0 :(得分:4)

您可以通过在CreateWindow调用中设置dwStyle属性来控制创建的Windows窗口的特征。

我使用了Awesomium Tutorial 2(http://wiki.awesomium.com/tutorials/tutorial-2-displaying-your-first-page.html

找到ViewWin(int width,int height)构造函数并编辑对CreateWindow的调用。以下示例创建一个没有边框或标题的窗口。

hwnd_ = CreateWindow(
          szWindowClass,
          szTitle,
          WS_POPUP | WS_VISIBLE | WS_SYSMENU,
          CW_USEDEFAULT,
          CW_USEDEFAULT,
          width + 20,
          height + 40, 
          NULL,
          NULL,
          hInstance,
          NULL);

当我尝试它时,我遇到了一个问题,即WndProc被预先调用(视图指针仍为NULL),所以我添加了一个快速修复程序来运行应用程序。

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {

...

case WM_SIZE:
  if (view == NULL) return 0; // Quick fix to not call view until it is fully initialized
  view->web_view()->Resize(LOWORD(lParam), HIWORD(lParam));
break;

...

这可能不是你要走的路,你可能会想出更好的东西吗?创建的窗口如下所示:

Awesomium "Hello World" with no caption nor borders

我希望这会让您按照自己的意愿使应用程序正常运行?