首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

屏幕取色后如何恢复原状态WMEraseBkng(var MSg:TWMEraseBkgnd)

2013-09-12 
屏幕取色后怎么恢复原状态WMEraseBkng(var MSg:TWMEraseBkgnd)procedure TForm1.WMEraseBkng(var MSg:TWME

屏幕取色后怎么恢复原状态WMEraseBkng(var MSg:TWMEraseBkgnd)
procedure TForm1.WMEraseBkng(var MSg:TWMEraseBkgnd);
begin
     Msg.Result:=1;
end;

   上面这个函数是为了在屏幕上取色用的,它可以把整个屏幕载入窗口,这时,屏幕就像被锁定一样。移动窗口时,也会在屏幕上留下痕迹。

    请问,不需要取色的时候,怎样让这个过程失效,或者说禁用它,让屏幕恢复正常,需要取色时再用。


[解决办法]
做个标记,比如真假,取色为真,取色完毕为假

if true then
Msg.Result:=1;

[解决办法]
WMEraseBkng是当屏幕需要擦除背景时发出的消息。你如果仅仅是需要取色,把屏幕截图,载入你所说的form中,然后对这个form内的坐标点取色。根本不需要在WMEraseBkng消息上做文章。
[解决办法]
如此来说,用hook吧
[解决办法]
根本不用窗体,用 Tbitmap 在内存里面不能取吗?

热点排行