当前位置:主页>销售管理软件> 列表

如何给任意一个窗体画边框,且能让这个边框保持恒久。 找东莞速达软件

进销存软件版1楼: 用下面的函数能给任意窗口画边框,但如何能让这个边框保持恒久呢?

function HighlightWindow(pl_hwnd: Hwnd;cor:tColor):bool;
var
ll_hDC : HDC;
lu_RECT : TRECT;
ll_Pen : HPEN;
begin
GetWindowRect(pl_hWnd,lu_RECT);
ll_hDC := GetWindowDC(pl_hWnd);
SetROP2(ll_hDC, R2_NOTXORPEN);
ll_Pen := CreatePen(ps_solid, 2, cor);
SelectObject(ll_hDC, ll_Pen);
SelectObject(ll_hDC, GetStockObject(HOLLOW_BRUSH));
Rectangle(ll_hDC, 0, 0, lu_RECT.Right - lu_RECT.Left, lu_RECT.Bottom - lu_RECT.Top);
DeleteObject(ll_Pen);
ReleaseDC(pl_hWnd, ll_hDC);
result:=true;
end;

2楼: procedure TForm1.FormPaint(Sender: TObject);
begin
HighlightWindow(XXX,XXX);
end; 如简单的进销存软件

3楼: 这是给自己创建的窗口的,我要的是别的任意的窗口(比如IE,记事本等等)也可以。

4楼: 顶!

5楼: 帮顶!

╭=========================================╮



80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯

6楼: 舉個例子:
procedure TForm1.FormPaint(Sender: TObject);
begin
HighlightWindow(form1.Handle,cllime);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
form1.Repaint
end;
初次解答。

进销存软件版7楼: 简单说一下,你的要求不可能实现(具体原因就不解释了)
除非做一个继承窗体,加入边框的颜色,是否绘制等属性,然后所有的窗体都继承于它

8楼: hook windows重画消息,然后执行你的代码

delphi先锋网 文章更新了 www.topdelphi.net

9楼: 如果只是在鼠标拖曳过程中绘制边框。由于时间比较短,目的窗口一般不会更新,所以不需要管维持图像的问题

如果一定要维持图像,那只能用SetWindowsHookEx建立全局钩子,自己处理目的窗口的WM_PAINT消息

10楼: 晕菜,真的要用HOOK啊。

11楼: 帮顶!

╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯

12楼: 看来就这样石沉大海了。再顶一下!谁能帮帮忙忙! 如东莞速达软件