看流星社区

 找回密码
 注册账号
查看: 2682|回复: 1

纯资源动态连接库显示图像

[复制链接]

该用户从未签到

发表于 2017-6-3 14:26:55 | 显示全部楼层 |阅读模式
纯资源 DLL 是仅包含资源(如图标、位图、字符串和对话框)的 DLL。使用纯资源 DLL 是在多个程序之间共享同一组资源的好方法。提供其资源被针对多种语言进行本地化的应用程序也是一种好方法若要创建纯资源 DLL,请创建一个新的 Win32 DLL(非 MFC)项目,并将资源添加到此项目。

    在“新建项目”对话框中选择“Win32 项目”,并在“Win32 项目向导”中指定 DLL 项目类型。
    为 DLL 创建一个包含资源(如字符串或菜单)的新资源脚本,并保存该 .rc 文件。
    在“项目”菜单上单击“添加现有项”,并在项目中插入这个新的 .rc 文件。
    指定 /NOENTRY 链接器选项。/NOENTRY 防止链接器将 _main 引用链接到 DLL 中;此选项是创建纯资源 DLL 所必需的。
    生成 DLL。

使用纯资源 DLL 的应用程序应调用 LoadLibrary 来显式链接到 DLL。若要访问资源,请调用一般函数 FindResource 和 LoadResource,这两个函数对任何类型的资源都有效,或调用下列资源特定的函数之一:

    FormatMessage
    LoadAccelerators
    LoadBitmap
    LoadCursor
    LoadIcon
    LoadMenu
    LoadString

使用完资源后,应用程序应调用 FreeLibrary。
实例1:
HMODULE hMod = LoadLibrary("WindllTest.dll");if(!hMod)return;
HBITMAP hb = LoadBitmap(hMod,MAKEINTRESOURCE(IDB_BITMAP1));((CButton *)GetDlgItem(IDC_BUTTON2))->SetBitmap(hb); FreeLibrary(hMod);
实例2:
HPALETTE CreateDIBPalette (LPBITMAPINFO lpbmi, LPINT lpiNumColors){LPBITMAPINFOHEADER lpbi;LPLOGPALETTE lpPal;HANDLE hLogPal;HPALETTE hPal = NULL;int i;lpbi = (LPBITMAPINFOHEADER)lpbmi;if (lpbi->biBitCount <= 8)*lpiNumColors = (1 << lpbi->biBitCount);else*lpiNumColors = 0; // No palette needed for 24 BPP DIBif (lpbi->biClrUsed > 0)*lpiNumColors = lpbi->biClrUsed; // Use biClrUsedif (*lpiNumColors){hLogPal = GlobalAlloc (GHND, sizeof (LOGPALETTE) +sizeof (PALETTEENTRY) * (*lpiNumColors));lpPal = (LPLOGPALETTE) GlobalLock (hLogPal);lpPal->palVersion = 0x300;lpPal->palNumEntries = *lpiNumColors;for (i = 0; i < *lpiNumColors;i++){lpPal->palPalEntry[i].peRed = lpbmi->bmiColors[i].rgbRed;lpPal->palPalEntry[i].peGreen = lpbmi->bmiColors[i].rgbGreen;lpPal->palPalEntry[i].peBlue = lpbmi->bmiColors[i].rgbBlue;if (i<=10 || i>=246)lpPal->palPalEntry[i].peFlags = PC_NOCOLLAPSE;elselpPal->palPalEntry[i].peFlags = 0;}hPal = CreatePalette (lpPal);GlobalUnlock (hLogPal);GlobalFree (hLogPal);}return hPal;}
void showImage(){
HMODULE hMod = LoadLibrary("WindllTest.dll");if(!hMod)return; HRSRC hrs =FindResource(hMod,MAKEINTRESOURCE(IDB_BITMAP1),RT_BITMAP);HGLOBAL hg = LoadResource(hMod,hrs);HBITMAP hBitmapFinal;LPBITMAPINFOHEADER lpbi;HPALETTE lphPalette;int iNumColors;HDC hdc;hdc = ::GetDC(NULL);lpbi = (LPBITMAPINFOHEADER)LockResource(hg);lphPalette = CreateDIBPalette((LPBITMAPINFO)lpbi, &amp;iNumColors);if (lphPalette){::SelectPalette(hdc,lphPalette,FALSE);::RealizePalette(hdc);}
hBitmapFinal = ::CreateDIBitmap(hdc,(LPBITMAPINFOHEADER)lpbi,(LONG)CBM_INIT,(LPSTR)lpbi + lpbi->biSize + iNumColors * sizeof(RGBQUAD),(LPBITMAPINFO)lpbi,DIB_RGB_COLORS );UnlockResource(hg); ((CButton *)GetDlgItem(IDC_BUTTON2))->SetBitmap(hBitmapFinal); FreeLibrary(hMod);
}

该用户从未签到

发表于 2023-10-23 14:23:17 | 显示全部楼层














































































































{2023年10月01日}2023冬季,全球 崩 盘,三 峡 溃 坝

{2023年10月01曰}2023冬季,全球 崩 盘,三 峡 溃 坝



作者 : 薛桦镰
时间:  2023年10月01曰 О8:49:57        星期曰        农历八月十七
           上正宗指 3110.48点    恒指 17809.66点   道指33507.50点
           囯际音乐节      囯际老人节
           


         
突然的,全球 金 融 市 场 连 续 跌 停 大 崩 盘,
没有什么,谁也没想到啊,友邦惊诧,黑 天 鹅 白天鹅 哥斯拉,
一切都是,蓄 谋 已 久 的精心策划。zéi 喊捉zéi。


{一} 今时今曰{癸卯2023年10月01曰 } :
今时今曰,我预.测,人类有始.以来最大的金.融.崩 盘 ,未来三个月
之内,即,2023年11月、12月、2024年元月,将 震 撼呈 现。
---- 中卝囯股市、全球股市、全球金融市场 连序跌婷大崩 盘 , 大盘连
       续或稍稍间断30/40多个跌亭板,人类有.史以来最大的金融.嗨啸。
股市、汇市、债市、期货商品、可能还有楼卝市,全部连卝锁式彻底崩溃。
黄 金 价 格 应 该 避 险 bào 涨。
忽 然 之 间 ,天 塌 了。{ 全 球 闪 崩 }
十 八 级 金融大 地.震,史无前例地球崩卝盘,要 多 惨 有 多惨,世界沫曰。
金融天坑,股市雪崩、铡 dāo 斩 首 、bào 雷 溃 坝 ,希 特 勒 巴巴罗萨
金融闪击战 。画 皮 ,终 于 撕 去 了 。
最热的天气,最冷的人心。
道琼斯,憋了14年的一泡shǐ{⑥440.О8},2023冬季,总算找到了,公共厕所。
缠中说禅17年之前预卝言的,2019毁miè性下跌。{有四年误差}
已故“周期天王”周金涛的,“2018年到2019年是康波周期的万卝劫卝不卝复之年”。
以金.融战.争为表现形式的,第 叁 次.世.戒.大.战,全面 bào.发。
---- 一切友好互访探讨分歧,新型大囯关
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-19 10:58

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表