visual-c++ - tutorial - microsoft excel
Problema de dibujo de CSpinButtonCtrl con control CEdit pequeño (3)
Creo que iría por el n. ° 2: ¿está usted presionando para tener espacio en la pantalla?
Estoy tratando de dibujar un CSpinButtonCtrl como un amigo de un cuadro de edición en Windows 7. Cuando mi ventana de CEdit tiene 12 unidades de diálogo de alto, los botones de giro se escalan realmente mal y el borde superior se recorta.
Esto se ve bastante feo. ¿Cómo puedo evitar esto o debo restringir mis controles CEdit a 14 unidades de diálogo?
Mis controles están declarados así:
EDITTEXT IDC_LOWER_EDIT,51,20,63,12,ES_MULTILINE | ES_WANTRETURN,WS_EX_RIGHT
CONTROL "",IDC_LOWER_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,104,17,11,12
He intentado cambiar el tamaño usando MoveWindow, pero eso no ayuda. ¿Algunas ideas?
Otra opción es: dejarlo desacoplado (eliminar UDS_ALIGNRIGHT) y colocarlo justo al lado del control de edición.
Encontré el código para cambiar el ancho
CWnd* pWnd = GetDlgItem( IDC_SPIN1 );
CRect rect;
pWnd->GetWindowRect( &rect );
ScreenToClient( &rect );
rect.right += 5 ; // make 5 pixels wider
pWnd->MoveWindow(&rect) ;
Ponlo en OnInitDialog()
.