在一个CWinThread派生类创建窗口为什么总报警告错误

捕鲸叉 2013-07-17 04:03:57
如下窗口类.我在一个单独从CWinThread派生的线程类中创建该窗口(BOOL CRoutingWnd::Create()),但总是报警告错误.我的开发环境是WindowsXp/VC6. 请问是什么原因?

#pragma once

//内核线程消息路由窗口
class CRoutingWnd : public CWnd
{
DECLARE_DYNAMIC(CRoutingWnd)

public:
CRoutingWnd();
virtual ~CRoutingWnd();
BOOL Create();

protected:
DECLARE_MESSAGE_MAP()
//获取线程ID
afx_msg LRESULT OnGetThreadID(WPARAM w, LPARAM l);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
};

#include "stdafx.h"
#include "RoutingWnd.h"
#include "KernelThread.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
// CRoutingWnd
//InterpEngine



IMPLEMENT_DYNAMIC(CRoutingWnd, CWnd)

CRoutingWnd::CRoutingWnd()
{
}

CRoutingWnd::~CRoutingWnd()
{
}


BEGIN_MESSAGE_MAP(CRoutingWnd, CWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()

//获取线程ID
LRESULT CRoutingWnd::OnGetThreadID(WPARAM /*w*/, LPARAM /*l*/)
{
return ::GetCurrentThreadId();
}


int CRoutingWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;

TRACE("routing wnd created success!\n");
return 0;
}

BOOL CRoutingWnd::Create()
{
CString str = AfxRegisterWndClass(0);
if (!CreateEx(0, str, _T("Kernel Router"),
WS_OVERLAPPED, 0, 0, 0, 0, NULL, NULL))
{
return FALSE;
}

return TRUE;
}
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
捕鲸叉 2013-07-24
  • 打赏
  • 举报
回复
引用 1 楼 xyzhaopeng 的回复:
求贴出警告的全文。
有线索吗?
捕鲸叉 2013-07-18
  • 打赏
  • 举报
回复
编译无警告, 运行有警告
cdsnpeter 2013-07-17
  • 打赏
  • 举报
回复
求贴出警告的全文。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧