工控编程吧

标题: 上位机MFC如何设置窗口的透明区域 [打印本页]

作者: qq263946146    时间: 2019-7-18 15:10
标题: 上位机MFC如何设置窗口的透明区域
窗口的区域可以通过函数SetWindowRgn来设置。
区域为镂空,窗口自然就为透明。
例如,可以在程序初始化调用下面代码,查看效果。
如对话框的初始化函数OnInitDialog内调用下面代码。
窗口除标题栏可见,其他都不可见。

  1.         CRect rect1;
  2.         GetWindowRect(rect1);

  3.         CRect rect2;
  4.         GetClientRect(rect2);
  5.         ClientToScreen(rect2);

  6.         CRgn rgn1;
  7.         rgn1.CreateRectRgn(rect1.left, rect1.top, rect1.right, rect1.bottom);

  8.         CRgn rgn2;       
  9.         rgn2.CreateRectRgn(rect2.left, rect2.top, rect2.right, rect2.bottom);

  10.         CRgn rgn;
  11.         rgn.CreateRectRgn(0, 0, 1, 1);

  12.         rgn.CombineRgn(&rgn1, &rgn2, RGN_DIFF);

  13.         //设置窗口区域
  14.         SetWindowRgn((HRGN)rgn,TRUE);
复制代码
[MFC408]1[/MFC408]1
[note]1[/note]
[weixinlianxi]1[/weixinlianxi]






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4