diff options
Diffstat (limited to 'app/wlib/mswlib/mswbutt.c')
| -rw-r--r-- | app/wlib/mswlib/mswbutt.c | 21 | 
1 files changed, 11 insertions, 10 deletions
| diff --git a/app/wlib/mswlib/mswbutt.c b/app/wlib/mswlib/mswbutt.c index d213695..16f31c1 100644 --- a/app/wlib/mswlib/mswbutt.c +++ b/app/wlib/mswlib/mswbutt.c @@ -37,11 +37,7 @@ int kludge12 = 0;   *****************************************************************************   */ - -  static XWNDPROC oldButtProc = NULL; -static XWNDPROC newButtProc; -  struct wButton_t {  		WOBJ_COMMON @@ -88,9 +84,9 @@ static void drawButton(  	COLORREF colF;  #define LEFT (0) -#define RIGHT (bm->w+10) +#define RIGHT (LONG)ceil(bm->w*scaleIcon+10)  #define TOP (0) -#define BOTTOM (bm->h+10) +#define BOTTOM (LONG)ceil(bm->h*scaleIcon+10)  	/* get the lightest and the darkest color to use */  	colL = GetSysColor( COLOR_BTNHIGHLIGHT ); @@ -239,6 +235,7 @@ static LRESULT buttPush( wControl_p b, HWND hWnd, UINT message, WPARAM wParam, L  	DRAWITEMSTRUCT * di = (DRAWITEMSTRUCT *)lParam;  	wBool_t selected; +  	switch (message) {  	case WM_COMMAND:  		if (bb->action /*&& !bb->busy*/) { @@ -253,8 +250,8 @@ static LRESULT buttPush( wControl_p b, HWND hWnd, UINT message, WPARAM wParam, L  			break;  		mi->CtlType = ODT_BUTTON;  		mi->CtlID = wParam; -		mi->itemWidth = bb->w; -		mi->itemHeight = bb->h; +		mi->itemWidth = (UINT)ceil(bb->w*scaleIcon); +		mi->itemHeight = (UINT)ceil(bb->h*scaleIcon);  		} return 0L;  	case WM_DRAWITEM: @@ -369,8 +366,8 @@ wButton_p wButtonCreate(  	b->selected = 0;  	mswComputePos( (wControl_p)b, x, y );  	if (b->option&BO_ICON) { -		width = bm->w+10; -		h = bm->h+10; +		width = (wPos_t)ceil(bm->w*scaleIcon)+10; +		h = (int)ceil(bm->h*scaleIcon)+10;  		b->icon = bm;  	} else {  		width = (wPos_t)(width*mswScale); @@ -405,5 +402,9 @@ wButton_p wButtonCreate(  	}  	if ( !mswThickFont )  		SendMessage( b->hWnd, WM_SETFONT, (WPARAM)mswLabelFont, 0L ); + + +	InvalidateRect(b->hWnd, &rect, TRUE); +  	return b;  } | 
