2014-04-16 3 views
0

Je veux créer une zone de texte de hauteur 30 et le texte qu'il utilise a la police 11pt. D'une manière ou d'une autre, le texte apparaît toujours dans la partie supérieure de la boîte. Je veux réaliser l'alignement du centre vertical pour cela. Est-ce que quelqu'un sait comment cela peut être fait?Comment aligner verticalement nsis zone de texte

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 

Répondre

0

Le contrôle d'édition standard ne dispose pas d'un alignement vertical style et EM_SETRECT ne fonctionne que pour les contrôles d'édition multi-lignes.

Si vous pensez vraiment que c'est quelque chose dont vous avez besoin alors votre seule option est d'écrire un plugin NSIS qui peut créer un contrôle d'édition personnalisé.

Je suggère que vous utilisez simplement 12u comme taille et la police par défaut ...

Questions connexes