深夜等解答!跪求解决办法

深夜等解答!跪求
具体题目是
这是一公司的面试题学习之用下载研究,但水平低不太懂。C++ , VC++ 的书也看过好几大本了.一般的DLL应用知道 但下面这一行:
  bool dll_init(IBox * p_in/*IN*/, IController ** p_out/*OUT*/);

内部怎么实现,跟界面按钮如何关联起来,实在搞不明白!请高手编写个简单的代码,每个按钮只响应一个提示也行,明白了思路后我自己再去仔细研究. (还请大家提供一些参考资料方便学习)

  感谢!

测试题:
请编写一个dll,这个dll能与我们提供的exe(初试D.exe)工作,在exe的界面上绘制我们提供的图片test.jpg,并且,能够通过主界面的按钮上下左右的移动界面上的图片。
提示:下面是我们的示例程序运行的效果图,你写的Dll中不需要写上“这是示例程序”那几个红色的文字。
需要的借口在interface.h中有定义。
示例程序是用vs2003编写。
例子图片你可以转化为bmp后再使用。
图片一次移动距离自己定,示例程序用的是5。
注:请提供程序源代码

interface.h文件
 #pragma once
interface IController
{
 virtual void draw(HWND wnd, RECT & rc) PURE;
 virtual void on_btn_up_pressed() PURE;
 virtual void on_btn_left_pressed() PURE;
 virtual void on_btn_right_pressed() PURE;
 virtual void on_btn_down_pressed() PURE;
};

//IBox接口由我们提供的exe实现,在调用你导出函数时,把IBox指针传给你
//你需要实现IController
interface IBox  
{
 virtual HWND getWND() PURE;
 virtual RECT getDrawRect() PURE;
};
//dll提供的导出函数原型
typedef bool (*dll_entry_type)(IBox * p_in/*IN*/, IController ** p_out/*OUT*/) ;
extern "C" __declspec(dllexport) bool dll_init(IBox * p_in/*IN*/, IController ** p_out/*OUT*/);

试题下载地址:www.tigou.net/downloads/cx.rar




在说说我的情况,一切都完成的差不多了,就初始化图片的函数有问题,
情况是这样的
interface IBox 
{
virtual HWND getWND() PURE;
virtual RECT getDrawRect() PURE;
};


void Controller::InitControl( IBox * p_in )
{
this->m_pBox = p_in;
HINSTANCE hInstance = hInst;//就是这里如何得到模块实例的句柄,如何通过IBOX传来的信息知道呢???
m_Bitmap = LoadBitmap(hInstance, (LPCWSTR)IDB_BITMAP);
//还有这里是通过文件名来加载图片吗?比如LoadBitmap(hInstance, (LPCWSTR)IDB_BITMAP1);
//图片资源已经加载进去,但是'IDB_BITMAP1' : undeclared identifier
//哪里有什么问题求大神指导,感激不尽啊!!
m_Sizecx = 0;
m_Sizecy = 0;
}


------解决方案--------------------
我不是来回答问题的,我只是来提醒一句楼主提问问题请把问题概括写在题目里,你这种“深夜求解答”或者好多人“求高手,急急急!!!”“程序有问题求半忙” “我的程序崩溃了谁能告诉我”之类的帖子,好多有脾气的人压根不会进来看。
------解决方案--------------------
总体问题我真的没看啊。我就说说这两个地方我的理解。
HINSTANCE hInstance = hInst;//就是这里如何得到模块实例的句柄,如何通过IBOX传来的信息知道呢???

这个我也没看懂要在哪里用。总之在dll里面的话,dllmain函数的参数中有一个就是dll的句柄。mfc程序也可以用AfxGetInstanceHandle获取,在dll中获取的就是dll句柄,exe中使用获取exe句柄。在应用程序通过loadlibrary可以获取dll句柄,另外还有一个函数GetModuleHandle你去看看。。。

m_Bitmap = LoadBitmap(hInstance, (LPCWSTR)IDB_BITMAP);
//还有这里是通过文件名来加载图片吗?比如LoadBitmap(hInstance, (LPCWSTR)IDB_BITMAP1);

这个函数,(LPCWSTR)IDB_BITMAP似乎应该写成MAKEINTRESOURCE(BITMAP)


我也是菜鸟,就能说这些了。。。
------解决方案--------------------
纠正一下最后一句话,(LPCWSTR)IDB_BITMAP似乎应该写成MAKEINTRESOURCE(IDB_BITMAP)。。。。。浏览器双击选择的内容跟编译器果断有点区别。。。。。
------解决方案--------------------
探讨

引用:
'IDB_BITMAP1' : undeclared identifier
应该是你没有包含定义了是'IDB_BITMAP1' 的头文件



'IDB_BITMAP1' : undeclared identifier
应该是你没有包含定义了是'IDB_BITMAP1' 的头文件
还要包含定义了是'IDB_BITMAP1' 的头文件
,怎么弄呢?