Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi XE2 VCL样式-滚动条绘制_Delphi_Scrollbar_Delphi Xe2_Vcl Styles - Fatal编程技术网

Delphi XE2 VCL样式-滚动条绘制

Delphi XE2 VCL样式-滚动条绘制,delphi,scrollbar,delphi-xe2,vcl-styles,Delphi,Scrollbar,Delphi Xe2,Vcl Styles,当应用VCL样式时,DelphiXe2中的文本编辑器有问题。如果我在表单上放置了两个TMemo控件(Memo1和Memo2),并且Memo1部分位于Memo2后面,则Memo1的边框将绘制在Memo2上 我试图创建一个从TScrollingStyleHook继承的样式挂钩,但没有找到任何方法来解决这个问题。有人知道如何修复这个bug吗 顺便说一句:我也在DelphiXe5中测试了它,它的行为方式也一样 以下是.dfm和.pas文件的源代码: DFM: 考绩制度: Vcl样式引擎不正确支持滚动条,

当应用VCL样式时,DelphiXe2中的文本编辑器有问题。如果我在表单上放置了两个TMemo控件(Memo1和Memo2),并且Memo1部分位于Memo2后面,则Memo1的边框将绘制在Memo2上

我试图创建一个从TScrollingStyleHook继承的样式挂钩,但没有找到任何方法来解决这个问题。有人知道如何修复这个bug吗

顺便说一句:我也在DelphiXe5中测试了它,它的行为方式也一样

以下是.dfm和.pas文件的源代码:

DFM:

考绩制度:


Vcl样式引擎不正确支持滚动条,在备注中,滚动条是从TWinControl类继承的TScrollWindow类创建的。标准滚动条(不带vcl样式)作为备注的一部分绘制。 当使用vcl样式时,memo的滚动条会变成一个顶部窗口,这就是导致前面问题的原因。 如果查看
TScrollingStyleHook.UpdateScroll
事件,您会发现样式引擎使用
SetWindowPos
将滚动条置于其他控件的顶部以显示滚动条

SetWindowPos(FVertScrollWnd.Handle, HWND_TOP, Control.Left + Left,
           Control.Top + Top, Right - Left, Bottom - Top, SWP_SHOWWINDOW);

如果要解决此问题,需要在TMemo类内的
WM_NCPAINT
消息中绘制滚动条。

Vcl样式引擎不正确支持滚动条。在备注中,滚动条是从TWinControl类继承的TScrollWindow类创建的。标准滚动条(不带vcl样式)作为备注的一部分绘制。 当使用vcl样式时,memo的滚动条会变成一个顶部窗口,这就是导致前面问题的原因。 如果查看
TScrollingStyleHook.UpdateScroll
事件,您会发现样式引擎使用
SetWindowPos
将滚动条置于其他控件的顶部以显示滚动条

SetWindowPos(FVertScrollWnd.Handle, HWND_TOP, Control.Left + Left,
           Control.Top + Top, Right - Left, Bottom - Top, SWP_SHOWWINDOW);

如果要解决此问题,需要在TMemo类内的
WM_NCPAINT
消息中绘制滚动条。

Vcl样式引擎不正确支持滚动条。在备注中,滚动条是从TWinControl类继承的TScrollWindow类创建的。标准滚动条(不带vcl样式)作为备注的一部分绘制。 当使用vcl样式时,memo的滚动条会变成一个顶部窗口,这就是导致前面问题的原因。 如果查看
TScrollingStyleHook.UpdateScroll
事件,您会发现样式引擎使用
SetWindowPos
将滚动条置于其他控件的顶部以显示滚动条

SetWindowPos(FVertScrollWnd.Handle, HWND_TOP, Control.Left + Left,
           Control.Top + Top, Right - Left, Bottom - Top, SWP_SHOWWINDOW);

如果要解决此问题,需要在TMemo类内的
WM_NCPAINT
消息中绘制滚动条。

Vcl样式引擎不正确支持滚动条。在备注中,滚动条是从TWinControl类继承的TScrollWindow类创建的。标准滚动条(不带vcl样式)作为备注的一部分绘制。 当使用vcl样式时,memo的滚动条会变成一个顶部窗口,这就是导致前面问题的原因。 如果查看
TScrollingStyleHook.UpdateScroll
事件,您会发现样式引擎使用
SetWindowPos
将滚动条置于其他控件的顶部以显示滚动条

SetWindowPos(FVertScrollWnd.Handle, HWND_TOP, Control.Left + Left,
           Control.Top + Top, Right - Left, Bottom - Top, SWP_SHOWWINDOW);

如果你想解决这个问题,你需要在TMemo类中的
WM_NCPAINT
消息中绘制滚动条。

你能包含这个问题的图片吗?我是这个网站的新成员,不允许在帖子中添加图片,但是我在描述中添加了.pas和.dfm代码。你能包含问题的图像吗?我是此网站的新成员,不允许在帖子中添加图像,但我在描述中添加了.pas和.dfm代码。你能包含问题的图像吗?我是此网站的新成员,不允许在帖子中添加图像,但是我在描述中添加了.pas和.dfm代码。你能提供该问题的图片吗?我是该网站的新成员,不允许在帖子中添加图片,但我在描述中添加了.pas和.dfm代码。谢谢S.Mahdi!你是对的。我修改了WM_NCPAINT,看起来就是这样,但它也需要其他修改,因为滚动条的绘制并不完全正确。谢谢S.Mahdi!你是对的。我修改了WM_NCPAINT,看起来就是这样,但它也需要其他修改,因为滚动条的绘制并不完全正确。谢谢S.Mahdi!你是对的。我修改了WM_NCPAINT,看起来就是这样,但它也需要其他修改,因为滚动条的绘制并不完全正确。谢谢S.Mahdi!你是对的。我修改了WM_NCPAINT,看起来就是这样,但它也需要其他更改,因为滚动条的绘制并不完全正确。