这段代码是啥意思?? (100分)

  • 主题发起人 主题发起人 老赵
  • 开始时间 开始时间

老赵

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure InitHintFont;
var
NonClientMetrics: TNonClientMetrics;
HFont: TFont;
begin
HFont := TFont.Create;
NonClientMetrics.cbSize := SizeOf(NonClientMetrics);
if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @NonClientMetrics, 0) then
HFont.Handle := CreateFontIndirect(NonClientMetrics.lfStatusFont);
end;
 
设置hint的字体
 
用SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @NonClientMetrics, 0)取得windows
非客户区的信息,如菜单,滚动条等等
CreateFontIndirect(NonClientMetrics.lfStatusFont);创建一个类似状态栏的字体
接下来的代码应该就是把此FONT赋给HintWindow了。
 
SystemParametersinfo
该函数查询或设置系统级参数。该函数也可以在设置参数中更新用户配置文件。
SPI_GETNONCLIENTMETRICS:检索与非最小化窗口的非客户区有关的度量信息。
参数pvParam必须指向NONCLIENTMETRICS结构,以便接收相应值。该结构的。
cbSize成员与ulParam参数值应设为sizeof(NONCLIENTMETRICS)。
对于Windows 98,该标志支持16位和32位应用程序。对于Windows 95,
该标志只支持16位应用程序。对于Windows NT该标志在NT 5.0及以后版本中支持32位应用
程序,不支持16位应用程序。

函数CreateFontIndirect创建一种在结构LOGFONT中定义特性的逻辑字体。当这种字体
被函数选择时,GDI的字体映射器会努力将此逻辑字体与现有物理字体相匹配,如果不
能找到精确匹配,将会提供另一种选择,其特性与所要求的特性尽可能地匹配。
 
上面说的真详细。。[:D]

没什么好补充的了。。
 
我是小赵!
我们赵氏家族不知道什么时候开始败落,见着这位老赵真是不胜开心。喜欢玩象棋吗?
有空去我家坐坐WWW.ccbridge.net

上面说的挺完整了,老赵
 
多人接受答案了。
 

Similar threads

后退
顶部