📄 generalapi.cpp
字号:
//************************************************************************
//常用接口函数(本软件代码由朱一松(song_0962@sina.com)编写,仅供个人使用 )
//************************************************************************
#include "stdAfx.h"
#include "Generalapi.h"
//********************************************************
//画图API
void DrawBitmap(CDC* dc, HBITMAP hbmp, CRect rect,COLORREF clrMask)
{
typedef void(_cdecl *Connect)(CDC*,HBITMAP,CRect,COLORREF);
HINSTANCE hDll=NULL;
hDll = AfxLoadLibrary(".\\sqDll\\GeneralTools.dll");
if(hDll)
{
Connect proc;
proc = (Connect)GetProcAddress(hDll,"DrawBitmap");
proc(dc,hbmp,rect,clrMask);
AfxFreeLibrary(hDll);
HANDLE hDll = NULL;
}
else
{
AfxMessageBox("No found dll File :GeneralTools.dll !");
}
}
void DrawBitmap(HINSTANCE hDll,CDC* dc, HBITMAP hbmp, CRect rect,COLORREF clrMask)
{
typedef void(_cdecl *Connect)(CDC*,HBITMAP,CRect,COLORREF);
//HINSTANCE hDll=NULL;
//hDll = AfxLoadLibrary(".\\sqDll\\GeneralTools.dll");
if(hDll)
{
Connect proc;
proc = (Connect)GetProcAddress(hDll,"DrawBitmap");
proc(dc,hbmp,rect,clrMask);
//AfxFreeLibrary(hDll);
//HANDLE hDll = NULL;
}
else
{
AfxMessageBox("No found dll File :GeneralTools.dll !");
}
}
//*************************************************************
//加载图形文件,并返回HBITMAP(位图枸柄)
HBITMAP LoadImageFile(LPCTSTR strFile)
{
HBITMAP hBitmap =NULL;
typedef HBITMAP(_cdecl *Connect)(LPCTSTR);
HINSTANCE hDll=NULL;
hDll = AfxLoadLibrary(".\\sqDll\\GeneralTools.dll");
if(hDll)
{
Connect proc;
proc = (Connect)GetProcAddress(hDll,"LoadImageFromFile");
hBitmap = (HBITMAP)proc(strFile);
AfxFreeLibrary(hDll);
HANDLE hDll = NULL;
}
else
{
AfxMessageBox("No found dll File :GeneralTools.dll !");
}
return hBitmap;
}
HBITMAP LoadImageFile(HINSTANCE hDll,LPCTSTR strFile)
{
HBITMAP hBitmap =NULL;
typedef HBITMAP(_cdecl *Connect)(LPCTSTR);
//HINSTANCE hDll=NULL;
//hDll = AfxLoadLibrary(".\\sqDll\\GeneralTools.dll");
if(hDll)
{
Connect proc;
proc = (Connect)GetProcAddress(hDll,"LoadImageFromFile");
hBitmap = (HBITMAP)proc(strFile);
//AfxFreeLibrary(hDll);
//HANDLE hDll = NULL;
}
else
{
AfxMessageBox("No found dll File :GeneralTools.dll !");
}
return hBitmap;
}
HBITMAP BitmapColorToGray(CDC* pDC,HBITMAP hBitmap)
{
HBITMAP hBmp =NULL;
typedef HBITMAP(_cdecl *Connect)(CDC*,HBITMAP);
HINSTANCE hDll=NULL;
hDll = AfxLoadLibrary(".\\sqDll\\GeneralTools.dll");
if(hDll)
{
Connect proc;
proc = (Connect)GetProcAddress(hDll,"BitmapColorToGray");
hBmp = (HBITMAP)proc(pDC,hBitmap);
AfxFreeLibrary(hDll);
HANDLE hDll = NULL;
}
else
{
AfxMessageBox("No found dll File :GeneralTools.dll !");
}
return hBmp;
}
HBITMAP BitmapColorToGray(HINSTANCE hDll,CDC* pDC,HBITMAP hBitmap)
{
HBITMAP hBmp =NULL;
typedef HBITMAP(_cdecl *Connect)(CDC*,HBITMAP);
//HINSTANCE hDll=NULL;
//hDll = AfxLoadLibrary(".\\sqDll\\GeneralTools.dll");
if(hDll)
{
Connect proc;
proc = (Connect)GetProcAddress(hDll,"BitmapColorToGray");
hBmp = (HBITMAP)proc(pDC,hBitmap);
}
else
{
AfxMessageBox("No found dll File :GeneralTools.dll !");
}
return hBmp;
}
//*****若没DLL文件请把相关代码注释掉或联系作者(QQ:34544052)*************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -