我想创建一个高度为30的文本框,它使用的文本具有字体11pt。 不知何故,文本总是出现在框的上部。我想为它实现垂直中心对齐。 有谁知道怎么做?
Function fnc_Directoryrequest_Create
; custom font definitions
CreateFont $hCtl_Directoryrequest_Font1 "Calibri" "11" "400"
nsDialogs::Create 1018
Pop $hCtl_Directoryrequest
${If} $hCtl_Directoryrequest == error
Abort
${EndIf}
${NSD_CreateText} 37u 42u 327 30 "C:\mySample\TestLocation\here"
Pop $hCtl_Directoryrequest_DirRequest1_Txt
SendMessage $hCtl_Directoryrequest_DirRequest1_Txt ${WM_SETFONT} $hCtl_Directoryrequest_Font1 0
${NSD_CreateButton} 253u 40u 35 30 "..."
Pop $hCtl_Directoryrequest_DirRequest1_Btn
SendMessage $hCtl_Directoryrequest_DirRequest1_Btn ${WM_SETFONT} $hCtl_Directoryrequest_Font1 0
${NSD_OnClick} $hCtl_Directoryrequest_DirRequest1_Btn fnc_hCtl_Directoryrequest_DirRequest1_Click
FunctionEnd
答案 0 :(得分:0)
标准编辑控件没有垂直对齐style,EM_SETRECT仅适用于多行编辑控件。
如果您真的认为这是您需要的,那么您唯一的选择就是编写一个可以创建自定义编辑控件的NSIS插件。
我建议您只使用12u
作为高度和默认字体...