2013-10-26 4 views
-1

어떻게 Visual C++ 2008 Express를 사용하여이 작업을 수행 할 수 있습니까?테두리가없는 그림을 표시하고 순수한 C를 종료하십시오

사진은 실행 가능해야합니다.

나는 내가이 라인을 사용하여 국경 윈도우의 배경을 수정할 수 있습니다 발견 :

WNDCLASSEX wcx; 
/*fill up other wcx members*/ 
wcx.hbrBackground=CreatePatternBrush((HBITMAP) LoadImage(0,_T("background.bmp"), 
           IMAGE_BITMAP,0,0, 
           LR_CREATEDIBSECTION|LR_LOADFROMFILE)); 

또는

WNDCLASSEX wcx; 
/*fill up other wcx members*/ 
wcx.hbrBackground=CreatePatternBrush((HBITMAP) LoadImage(GetModuleHandle(0), 
            MAKEINTRESOURCE(ID_BACK_BMP), 
           IMAGE_BITMAP,0,0, 
           LR_CREATEDIBSECTION); 

을하지만 난 문제가있어 :

첫 번째 예에서 사진을 가져 오는 데 사용됩니다 기존 파일. 두 번째 리서치를 사용합니다. 하지만 리소스를 추가하는 방법을 찾을 수 없습니다 (네이티브 프로젝트에서는 불가능하다고 생각합니다)! 해결 방법이 있습니까?

도와주세요!

추신. 나쁜 영어로 죄송합니다!

답변

0

Visual Studio의 명시적인 버전에는 리소스 편집기가 포함되어 있지 않습니다. 당신은 실행 이미지로 자원을 컴파일하는 리소스 편집기가 필요하지 않습니다

Creating a ".rc" file in Visual Studio 2010 Express

0

:하지만 당신은 제 3 자 리소스 편집기를 사용할 수 있습니다. 리소스 편집기는 리소스 스크립트 파일 (.rc)의 그래픽 편집기 일뿐입니다. 리소스 스크립트 파일은 텍스트 편집기에서 작성할 수 있습니다. 파일 형식은 MSDN (About Resource Files)에 설명되어 있습니다.

자원 :

당신이 당신의 리소스 스크립트에 BITMAP resource 정의 문을 추가하고 헤더 파일에 고유 한 자원 ID (비트 맵 리소스 ID가 range from 0 to 32767에 있어야합니다)를 만들 필요가 비트 맵 이미지 리소스를 추가합니다. 시간 :

#define IDB_BACK_BMP 1 

MyApp.rc :

#include "resource.h" 
IDB_BACK_BMP BITMAP "background.bmp" 

프로젝트가 제대로 012를 호출하도록 설정되어 있다고 가정 당신이 프린터로 이미지를 전송하지 않으려면 당신이 LR_CREATEDIBSECTION 플래그를 지정할 필요가 없습니다

HBITMAP hBM = (HBITMAP)LoadImage(GetModuleHandle(NULL), 
           MAKEINTRESOURCE(IDB_BACK_BMP), 
           IMAGE_BITMAP, 
           0, 0, 
           LR_DEFAULTCOLOR); 

참고 : 리소스 스크립트에 대한 3,는 사용하여 실행 이미지에서 비트 맵 이미지를로드 할 수 있습니다 파일. 표시 장치 컨텍스트로 렌더링 할 때 장치 종속 비트 맵으로 충분합니다.

관련 문제