Visual Studio 2008을 사용하여 리소스보기에서 PNG 파일을로드하고 IDB_BANG_PNG를 할당했습니다.프로그래밍 방식으로 Win32 API의 그림 컨트롤에 PNG 설정
그림 컨트롤은 IDC_STATIC15라고합니다.
그림 컨트롤에로드 된 PNG를 가져 오는 데 문제가 있습니다.
LRESULT CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
// Way of loading a bmp with a mask perhaps? Or a PNG file programatically?
static HBRUSH hBrushStatic;
HBITMAP hBmp = LoadBitmap(hDlg,MAKEINTRESOURCE(IDB_BANG_PNG));
switch(message)
{
case WM_INITDIALOG:
CheckDlgButton(hDlg, IDC_CHECK, FALSE);
EnableWindow(GetDlgItem(hDlg, IDOK), FALSE);
// Bitmap version is IDB_BANG, PNG is at IDB_BANG_PNG
// IDC_STATIC15 is the picture frame
HWND item = GetDlgItem(hDlg,IDC_STATIC15);
SendMessage(item,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);
return TRUE;
// .... snip
Win32/GUI 개발과 관련하여 빠른 프로젝트를 수행하고 그녀를 꼼짝 못하게 만들었을 때 나는 도움이된다.
비트 맵 파일이 필요합니다. PNG 이미지를 BMP 이미지로 변환하려고합니다. – anno
PNG를 지원할 수 있다고했지만 프로그래밍 방식으로해야합니다. 이미지를 추가 할 때 hte 이미지 필터를 사용하면 * .png가 나열된 항목 중 하나입니다. –
문제는 투명 배경을 유지하기 위해 PNG를 사용해야하는 이유입니다. 내가 BMP를 사용하여 마스크를 만들 수 없거나 ICO 파일이 32x32가 아닌 더 큰 아이콘을 사용하도록 허용하지 않는 한. –