ruler.h
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainWindow:public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};ruler.cpp
#include <afxwin.h>
#include "Ruler.h"
CMyApp myApp;
BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
CMainWindow::CMainWindow()
{
Create(NULL,_T("Ruler"));
}
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
dc.SetMapMode(MM_LOENGLISH);
dc.SetTextAlign(TA_CENTER|TA_BOTTOM);
dc.SetBkMode(TRANSPARENT);
CBrush brush(RGB(255,255,0));
CBrush *pOldBrush=dc.SelectObject(&brush);
dc.Rectangle(100,-100,1300,-200);
dc.SelectObject(pOldBrush); for(int i=125;i<1300;i+=25){
dc.MoveTo(i,-192);
dc.LineTo(i,-200);
}
for(i=150;i<1300;i+=50){
dc.MoveTo(i,-184);
dc.LineTo(i,-200);
}
for(i=200;i<1300;i+=100){
dc.MoveTo(i,-175);
dc.LineTo(i,-200);
CString string;
string.Format(_T("%d"),(i/100)-1);
dc.TextOut(i,-175,string);
}
}报这个错,
--------------------Configuration: Ruler - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/Ruler.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.Ruler.exe - 3 error(s), 0 warning(s)我觉得是不是我的VC有什么问题
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainWindow:public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};ruler.cpp
#include <afxwin.h>
#include "Ruler.h"
CMyApp myApp;
BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
CMainWindow::CMainWindow()
{
Create(NULL,_T("Ruler"));
}
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
dc.SetMapMode(MM_LOENGLISH);
dc.SetTextAlign(TA_CENTER|TA_BOTTOM);
dc.SetBkMode(TRANSPARENT);
CBrush brush(RGB(255,255,0));
CBrush *pOldBrush=dc.SelectObject(&brush);
dc.Rectangle(100,-100,1300,-200);
dc.SelectObject(pOldBrush); for(int i=125;i<1300;i+=25){
dc.MoveTo(i,-192);
dc.LineTo(i,-200);
}
for(i=150;i<1300;i+=50){
dc.MoveTo(i,-184);
dc.LineTo(i,-200);
}
for(i=200;i<1300;i+=100){
dc.MoveTo(i,-175);
dc.LineTo(i,-200);
CString string;
string.Format(_T("%d"),(i/100)-1);
dc.TextOut(i,-175,string);
}
}报这个错,
--------------------Configuration: Ruler - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/Ruler.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.Ruler.exe - 3 error(s), 0 warning(s)我觉得是不是我的VC有什么问题
了吗?
--------------------Configuration: Ruler - Win32 Debug--------------------
Compiling...
Ruler.cpp
d:\myvc\ruler\ruler.cpp(2) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
Error executing cl.exe.Ruler.exe - 1 error(s), 0 warning(s)
选择MultiThread或MultiThread或Debug MultiThread就可以了控制台程序用的是单线程的运行期库,而MFC要用到多线程的运行期库,问题应该在这里
缺少视(onpaint要在其中实现)
我写成#include <stdafx.h>
--------------------Configuration: Ruler - Win32 Debug--------------------
Compiling...
Ruler.cpp
d:\myvc\ruler\ruler.cpp(3) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
Error executing cl.exe.Ruler.exe - 1 error(s), 0 warning(s)报这个错
不过也只本人水平太低所致。是忘了选中 use mfc in a shared dll让大家费心了