今天我发现了,这两种方法得出的结果是不同,下面我详细说一下,请高手解释一下为什么。
在一个窗口中打开一个子窗口(对话框程序),拖动这个子窗口,使它的一部分超出父窗口(将被截掉超出的部分),然后再拖回来,如果这个对话框上有类似下面的代码:
dc.SetBkMode(TRANSPARENT);
CBrush brush;
CRect rect(10,10,100,100);
brush.CreateHatchBrush(HS_BDIAGONAL,RGB(200,100,100));
dc.Rectangle(rect);
拖回来的时候,设置的透明背景就失效,成了默认的白背景,最小化应用程序,再最大化,设置的透明背景又回来。但如果拖动父窗口带动子窗口部分移出桌面,再拖回来,就没有上面的现像,一切正常。很明显这两种方式系统的处理是不一样的,请高手解释解释?