Page 1 of 1
Problema allineamento testo in buttonbmp
Posted:
Mon Mar 20, 2006 6:31 pm
by Marco Turco
Salve,
ho un problema con i buttonbmp con FWH27 (marzo),
gestendoli come risorsa.
In pratica l'immagine bitmap mi appare al centro del bottone sovrapponendosi al testo.
Ho creato un self-contained che mostra il problema
scaricabile da
www.softwarexp.co.uk/beta/test.zipQualche idea ?
Grazie in anticipo.
Marco
Re: Problema allineamento testo in buttonbmp
Posted:
Mon Mar 20, 2006 9:39 pm
by Enrico Maria Giordano
Hai provato a disegnare il bitmap in modo tale che non sia al centro dell'immagine?
EMG
Posted:
Tue Mar 21, 2006 8:21 am
by Marco Turco
La bitmap come puoi vedere nell'esempio
è molto più piccola del bottone. Non è pensabile disegnare una bitmap apposta per le dimensioni del bottone.
Nelle FWH di febbraio funzionava il comando CANCEL TEXTRIGHT che spostava il testo a dx e la bitmap a sx ma ora questo comando non è più operativo.
Marco
Posted:
Tue Mar 21, 2006 8:43 am
by Enrico Maria Giordano
Allora modifica il metodo Paint(), ad esempio:
nLeft = ::nWidth() - nBmpWidth( ::hBitmap ) * 1.2
E poi metti degli spazi in coda al testo.
Altro non mi viene in mente.
EMG
Posted:
Tue Mar 21, 2006 9:52 am
by Marco Turco
Grazie. provo a chiedere anche sul news inglese,
Sai per caso anche come riportare il testo di un bottone su più righe ?
Dovrei fare un bottone (normale - non un buttonbmp)
con il testo riportato su 2 righe tipo:
Esporta
sullo scadenzario
Qualche idea ?
Marco
Posted:
Tue Mar 21, 2006 10:08 am
by Enrico Maria Giordano
Questo è un esempio funzionante:
- Code: Select all Expand view
#include "Fivewin.ch"
#define CR CHR( 13 )
#define BS_MULTILINE 8192
FUNCTION MAIN()
LOCAL oDlg, oBtn
DEFINE DIALOG oDlg
@ 1, 1 BUTTON oBtn PROMPT "&Close" + CHR( 13 ) + "the dialog";
SIZE 50, 30;
ACTION oDlg:End()
oBtn:nStyle = NOR( oBtn:nStyle, BS_MULTILINE )
ACTIVATE DIALOG oDlg;
CENTER
RETURN NIL
EMG
Posted:
Tue Mar 21, 2006 11:18 am
by Marco Turco
Ho provato ma non funziona.
Forse perché definisco il bottone da risorsa ?
Posted:
Tue Mar 21, 2006 11:48 am
by Enrico Maria Giordano
Così funziona:
- Code: Select all Expand view
#include "Fivewin.ch"
#define CR CHR( 13 )
#define BS_MULTILINE 8192
FUNCTION MAIN()
LOCAL oDlg, oBtn
DEFINE DIALOG oDlg;
RESOURCE "TEST"
REDEFINE BUTTON oBtn;
ID 201 OF oDlg;
ACTION oDlg:End()
oBtn:SetText( "&Close" + CHR( 13 ) + "the dialog" )
ACTIVATE DIALOG oDlg;
CENTER
RETURN NIL
- Code: Select all Expand view
TEST DIALOG 184, 107, 161, 127
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
CONTROL "", 201, "BUTTON", BS_PUSHBUTTON | BS_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 10, 10, 65, 40
}
EMG