bcb中编译MFC类库
本文地址:http://tongxinmao.com/Article/Detail/id/519
1.编译条件:
在Project options-->Directories/Conditionals-->Conditionals:Conditional dfines中添加_X86_;_WINDOWS;_MSC_VER=1100;_AFX_PORTABLE;_AFX_NOFORCE_LIBS;_MT;_CRT_PORTABLE;
_AFX_NO_DEBUG_CRT
2.包含路径:
include path 加入 $(BCB)\include\MFC
Library path 加入 $(BCB)\Lib\PSDK
3.Advanced Compiler 里将 MFC Compatibility 勾选起来
4.CPP文件中包含相关的lib文件
#ifdef _DEBUG
# pragma link "nafxcwd.lib"
#else
# pragma link "nafxcw.lib"
#endif
5.CPP文件中包含头文件,在vcl.h之前
#include <afxwin.h>
#include <Afxdlgs.h>
在编译的过程中,有两个常量定义冲突,可注释掉。
//static const Word CN_COMMAND = 0xbd11;
//static const Shortint ID_HELP = 0x9;
如果还有其他冲突可在CPP开始处加入#define NO_WIN32_LEAN_AND_MEAN
在c++builder窗体上画线,调用MFC中的CClientDC类,在窗体上画图,代码如下:
void __fastcall TForm1::FormPaint(TObject *Sender)
{
//HWND Handle转CWnd;
CWnd *pCWnd1=CWnd::FromHandle(this->Handle);
//CPaintDC dc(pCWnd1);//这个类要在WM_PAINT消息中调用
CClientDC dc1(pCWnd1);
dc1.DrawText("大家好",CRect(10,10,200,100),DT_LEFT);
CBrush brush(RGB(120,21,90));
CBrush *pOldBrush = dc1.SelectObject(&brush);
RECT rect;
rect.bottom =100;
rect.left = 200;
rect.right =400;
rect.top =10;
dc1.Ellipse(&rect);
}
————————————————
版权声明:本文为CSDN博主「chinayu2007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chinayu2007/article/details/39549309
上一篇:__closure调用另一个类中的函数
下一篇:键盘按键名称及HID扫描码及VK虚拟键码对照表