从系统中取得指定资源图像(转载)
2004-12-03 10:15
351 查看
从系统中取得指定资源图像(转载)
在Winuser.h中定义了一些系统常用的资源,比如对话框的图标,某些按钮上的图像等。
以下是部分OEM资源序号和一些标准ICON的ID:
//---------------------------------------------------------------------------
// OEM Resource Ordinal Numbers
#define OBM_OLD_CLOSE 32767
#define OBM_SIZE 32766
#define OBM_OLD_UPARROW 32765
#define OBM_OLD_DNARROW 32764
#define OBM_OLD_RGARROW 32763
#define OBM_OLD_LFARROW 32762
#define OBM_BTSIZE 32761
#define OBM_CHECK 32760
#define OBM_CHECKBOXES 32759
#define OBM_BTNCORNERS 32758
#define OBM_OLD_REDUCE 32757
#define OBM_OLD_ZOOM 32756
#define OBM_OLD_RESTORE 32755
#define OBM_CLOSE 32754
#define OBM_UPARROW 32753
#define OBM_DNARROW 32752
#define OBM_RGARROW 32751
#define OBM_LFARROW 32750
#define OBM_REDUCE 32749
#define OBM_ZOOM 32748
#define OBM_RESTORE 32747
#define OBM_REDUCED 32746
#define OBM_ZOOMD 32745
#define OBM_RESTORED 32744
#define OBM_UPARROWD 32743
#define OBM_DNARROWD 32742
#define OBM_RGARROWD 32741
#define OBM_LFARROWD 32740
#define OBM_MNARROW 32739
#define OBM_COMBO 32738
#define OBM_UPARROWI 32737
#define OBM_DNARROWI 32736
#define OBM_RGARROWI 32735
#define OBM_LFARROWI 32734
// Standard Icon IDs
#define IDI_APPLICATION MAKEINTRESOURCE(32512)
#define IDI_HAND MAKEINTRESOURCE(32513)
#define IDI_QUESTION MAKEINTRESOURCE(32514)
#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
#define IDI_ASTERISK MAKEINTRESOURCE(32516)
#define IDI_WINLOGO MAKEINTRESOURCE(32517)
我们可以通过LoadBitmap从系统中取得指定资源图像:
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
for(int i=0; i<30; i++)
{
HBITMAP hBitmap = ::LoadBitmap(NULL, MAKEINTRESOURCE(32734 + i));
TImage *img = new TImage(this);
img->Picture->Bitmap->Handle = hBitmap;
Canvas->Draw(9 + i *16, 9, img->Picture->Bitmap);
delete img;
DeleteObject(hBitmap);
}
for(int i=0; i<5; i++)
{
HICON hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(32512 + i));
TImage *img = new TImage(this);
img->Picture->Icon->Handle = hIcon;
Canvas->Draw(10 + i *32, 50, img->Picture->Icon);
delete img;
DeleteObject(hIcon);
}
}
在Winuser.h中定义了一些系统常用的资源,比如对话框的图标,某些按钮上的图像等。
以下是部分OEM资源序号和一些标准ICON的ID:
//---------------------------------------------------------------------------
// OEM Resource Ordinal Numbers
#define OBM_OLD_CLOSE 32767
#define OBM_SIZE 32766
#define OBM_OLD_UPARROW 32765
#define OBM_OLD_DNARROW 32764
#define OBM_OLD_RGARROW 32763
#define OBM_OLD_LFARROW 32762
#define OBM_BTSIZE 32761
#define OBM_CHECK 32760
#define OBM_CHECKBOXES 32759
#define OBM_BTNCORNERS 32758
#define OBM_OLD_REDUCE 32757
#define OBM_OLD_ZOOM 32756
#define OBM_OLD_RESTORE 32755
#define OBM_CLOSE 32754
#define OBM_UPARROW 32753
#define OBM_DNARROW 32752
#define OBM_RGARROW 32751
#define OBM_LFARROW 32750
#define OBM_REDUCE 32749
#define OBM_ZOOM 32748
#define OBM_RESTORE 32747
#define OBM_REDUCED 32746
#define OBM_ZOOMD 32745
#define OBM_RESTORED 32744
#define OBM_UPARROWD 32743
#define OBM_DNARROWD 32742
#define OBM_RGARROWD 32741
#define OBM_LFARROWD 32740
#define OBM_MNARROW 32739
#define OBM_COMBO 32738
#define OBM_UPARROWI 32737
#define OBM_DNARROWI 32736
#define OBM_RGARROWI 32735
#define OBM_LFARROWI 32734
// Standard Icon IDs
#define IDI_APPLICATION MAKEINTRESOURCE(32512)
#define IDI_HAND MAKEINTRESOURCE(32513)
#define IDI_QUESTION MAKEINTRESOURCE(32514)
#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
#define IDI_ASTERISK MAKEINTRESOURCE(32516)
#define IDI_WINLOGO MAKEINTRESOURCE(32517)
我们可以通过LoadBitmap从系统中取得指定资源图像:
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
for(int i=0; i<30; i++)
{
HBITMAP hBitmap = ::LoadBitmap(NULL, MAKEINTRESOURCE(32734 + i));
TImage *img = new TImage(this);
img->Picture->Bitmap->Handle = hBitmap;
Canvas->Draw(9 + i *16, 9, img->Picture->Bitmap);
delete img;
DeleteObject(hBitmap);
}
for(int i=0; i<5; i++)
{
HICON hIcon = ::LoadIcon(NULL, MAKEINTRESOURCE(32512 + i));
TImage *img = new TImage(this);
img->Picture->Icon->Handle = hIcon;
Canvas->Draw(10 + i *32, 50, img->Picture->Icon);
delete img;
DeleteObject(hIcon);
}
}
相关文章推荐
- 英语学习句子
- 用哪种方法判断字符串为空更快速
- 创建ASP.NET WEB自定义控件——例程3
- 语言转换软件都是不可靠,甚至可能造成大的bug
- 无聊ing
- Java技术标准中新增加了编程语言Groovy
- Java keytool工具的作用及使用方法[zz]
- 自定义有模板功能的控件
- java swing的拖放例子
- 新一代Java技术即将出现
- .net中Web自定义控件编写注意事项
- 【转载】曙光4000A系统主要技术指标
- 同时使用apache和IIS的一个解决方案[转载]
- 给C++初学者的50个忠告
- 【转载】因需而崩溃——开放系统开始动摇
- 无题日记 [Dec 03, 2004]
- Eclipse+Tomcat+Lomboz的配置总结
- 使用MiddleGen 产生hibernate的数据库表映射文件
- j2ee程序员应该掌握的linux知识
- about msdn's Dispose(转)