[Bug 2624] New: Bitmap doesn't get drawn in dialog box

Wine Bugs wine-bugs at winehq.org
Fri Dec 24 07:12:24 CST 2004


http://bugs.winehq.org/show_bug.cgi?id=2624

           Summary: Bitmap doesn't get drawn in dialog box
           Product: Wine
           Version: 20041201
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-gdi
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: prakashkc at gmx.de


I define a Dialogbox via .rc file:

AboutBox DIALOG  0, 0, 270, 315
     STYLE WS_POPUP | WS_DLGFRAME
{

	ICON  "RESOURCE1"                                                    -1,    4,
105 ,  0,  0
    CTEXT szCaption                                                     -1,  
20, 103, 220,  8

[snipped]
	 
    DEFPUSHBUTTON "OK"                                                  0,  
109, 293,  32, 14, WS_GROUP
     } 


The dialogbox gets called via DialogBox(hInstanceG,"AboutBox",hwnd,DlgProcAbout);

I draw a bitmap onto it via

BOOL CALLBACK DlgProcAbout (HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;

	switch (iMsg)
	{
	case WM_INITDIALOG:
		return TRUE;

	case WM_COMMAND:
		switch (LOWORD (wParam))
		{
		case 0:
			EndDialog (hDlg,0);
			return TRUE;
		}
		break;

	case WM_PAINT:
		
		hdc=GetDC(hDlg);
		
		DrawBitmap(hdc,LoadBitmap(hInstanceG, "RESOURCE2"),(60*cxSysChar-59)>>1,10);
		ReleaseDC(hDlg,hdc);
		break;
		

	}

	return FALSE;
}

with

void DrawBitmap (HDC hdc, HBITMAP hBitmap, int xStart, int yStart)
{
	BITMAP bm ;
	HDC    hMemDC ;
	POINT  pt ;

	hMemDC = CreateCompatibleDC (hdc) ;
	SelectObject (hMemDC, hBitmap) ;
	GetObject (hBitmap, sizeof (BITMAP), (PSTR) &bm) ;
	pt.x = bm.bmWidth ;
	pt.y = bm.bmHeight ;

	BitBlt (hdc, xStart, yStart, pt.x, pt.y, hMemDC, 0, 0, SRCCOPY) ;

	DeleteDC (hMemDC) ;
}


Windows shows the bitmap in the dialogbox, Wine doesn't. If I don't do any
"illegal" thing, I guess this is a Wine bug.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list