2014-04-16 132 views
0

我想創建一個高度爲30的文本框,並且它使用的文本的字體爲11pt。 不知何故文本總是出現在框的上部。我想爲它實現垂直中心對齊。 有誰知道它是如何做到的?如何垂直對齊nsis文本框

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

標準的編輯控件沒有一個垂直對齊style和EM_SETRECT僅適用於多行編輯控件。

如果你真的認爲這是你需要的東西,那麼你唯一的選擇是編寫一個可以創建自定義編輯控件的NSIS插件。

我建議你只使用12u作爲高度和默認字體...