如何在工作区(例如记事本)和滚动条之间显示区域。那里有一点缝隙/边界。如何确定?
TIA !!
这里是一个示例:请注意显示的小“ j”部分,但与右侧滚动条之间有一个边框。您怎么知道这个缺口,因为客户端RECT包含了缺口?
答案 0 :(得分:1)
记事本对其文本区域使用标准的EDIT控件。 EDIT控件实现两条消息:EM_GETMARGINS
和EM_GETRECT
。 EM_GETMARGINS
和EM_GETRECT
返回的值取决于所选的字体。
对于新的96 DPI速递:
height client rect EM_GETMARGINS EM_GETRECT right margin
left right left right left right by EM_GETRECT
10pt 0 489 2 1 3 487 2
20pt 0 489 5 3 6 485 4
对于96 DPI的Lucida Console:
height client rect EM_GETMARGINS EM_GETRECT right margin
left right left right left right by EM_GETRECT
10pt 0 489 0 0 1 488 1
20pt 0 489 0 1 1 487 2
对于Consolas达到96 DPI:
height client rect EM_GETMARGINS EM_GETRECT right margin
left right left right left right by EM_GETRECT
10pt 0 489 3 3 5 485 4
20pt 0 489 7 6 8 482 7
由于某些原因,EM_GETMARGINS
和EM_GETRECT
返回的边距略有不同。目视检查它们似乎EM_GETRECT
会产生更正确的结果。
这些是默认值。记事本可以修改它们,但在Windows 10上,值如上所述。请注意,在Windows 10上,一个白色像素属于垂直滚动条(可以通过将鼠标悬停在其上来进行验证,否则会导致滚动条的拇指突出显示并将光标从i型光束更改为箭头)。
您似乎正在使用Consolas并获得默认边距。