看板Programming
标 题请教vc6内如何将图形档案当作资源汇入使用呢?
发信站KKCITY (Wed Jul 5 15:10:27 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!bbs.ee.ntu!news.kkcity.com.
请教一下..我有一个现成的图档,档名叫做messages3.bmp
我想要让他出现在我的视窗上
请问我该如何将这图片加入资源呢?
因为我在resource内,虽然有看到Bitmap,但是他是绘图的方式,
无法直接汇入图档。
而我如果直接选择Bitmap Properties内的File name,直接输入档案名称
仍会有问题 编译时他说
c:\vc\messages3\messages3.cpp(15) : error C2065: 'IDB_BITMAP1' : undeclared
identifier
请教一下,我该如何把图形加入呢?
谢谢
附上原始语法
#include <afxwin.h>
//#include "Message.h" //载入资源档所使用之标头档
int x=0,y=0;
class MyFrame : public CFrameWnd
{
private:
CBitmap *bitmap;
CDC *mdc;
public:
MyFrame() //建构子
{
Create(NULL,"Hello MFC");
CClientDC dc(this);
bitmap = new CBitmap;
bitmap->LoadBitmap(IDB_BITMAP1);
mdc = new CDC;
mdc->CreateCompatibleDC(&dc);
mdc->SelectObject(bitmap);
}
~MyFrame() {} //解构子
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
CClientDC dc(this);
if(nChar == VK_UP) //按下上键
{
y-=10;
dc.BitBlt(x,y,47,47,mdc,0,0,SRCCOPY);
}
else if(nChar == VK_DOWN) //按下下键
{
y+=10;
dc.BitBlt(x,y,47,47,mdc,0,0,SRCCOPY);
}
else if(nChar == VK_LEFT) //按下左键
{
x-=10;
dc.BitBlt(x,y,47,47,mdc,0,0,SRCCOPY);
}
else if(nChar == VK_RIGHT) //按下右键
{
x+=10;
dc.BitBlt(x,y,47,47,mdc,0,0,SRCCOPY);
}
else if(nChar == VK_ESCAPE) //按下 Esc 键
PostMessage(WM_CLOSE);
}
DECLARE_MESSAGE_MAP() //宣告讯息映射表
};
BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd) //建立MyFrame类别的讯息映射表
ON_WM_KEYDOWN() //键盘讯息回应项目
END_MESSAGE_MAP()
class MyApp : public CWinApp //应用程式类别
{
public:
BOOL InitInstance() //程式进入点
{
CFrameWnd *Frame = new MyFrame;
m_pMainWnd = Frame;
Frame->ShowWindow(SW_SHOW); //显示视窗
return true;
}
} a_app; //宣告应用程式物件
--
┌─────◆KKCITY◆─────┐▇─┐KKADSL→六星级优质连线服务
│ bbs.kkcity.com.tw │┴ └─▇ 马上申请带你上网环游全世界!
└──《From:221.169.0.159
》──┘ KKADSL ┴ http://adsl.kkcity.com.tw
--
1F:推 bonmeepon:用你要的bmp把原本那个档案覆盖即可 140.116.22.59 07/05 19:08