窗口类的问题 //根本用不着窗口类CListBoxEx list;list.Create(WS_CHILE \*| ...*\,rect\*大小*\,this, ID_LIST); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Create()为你在class CListBoxEx{};中派生或定义的。在其中完成CreateWindow("LISTBOXEX",...);如:class CListBoxEx{ virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID); //可根据具体情况重载此函数。}//可根据具体情况决定调用方式,BOOL CListBoxEx::Create(dwStyle, rect, pParentWnd, nID){ m_hwnd = CreateWindow(LISTBOXEX, "", dwStyle, rect.left, rect.top, rect.right, rect.bottom, pParentWnd->m_hwnd, nID, hInstance, NULL); return m_hwnd == NULL ? FALSE : TRUE;} Create()为你在class CListBoxEx{};中派生或定义的。在其中完成CreateWindow("LISTBOXEX",...);如:class CListBoxEx{ virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID); //可根据具体情况重载此函数。}//可根据具体情况决定调用方式,BOOL CListBoxEx::Create(dwStyle, rect, pParentWnd, nID){ m_hwnd = CreateWindow("LISTBOXEX", "", dwStyle, rect.left, rect.top, rect.right, rect.bottom, pParentWnd->m_hwnd, nID, hInstance, NULL); return m_hwnd == NULL ? FALSE : TRUE;} leer:你懂不懂我在说什么?仔细看看我的题目先!(简单的问题我还问吗) Create()为你在class CListBoxEx{};中派生或定义的。在其中完成CreateWindow("LISTBOXEX",...);如:class CListBoxEx{ virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID); //可根据具体情况重载此函数。}//可根据具体情况决定调用方式,BOOL CListBoxEx::Create(dwStyle, rect, pParentWnd, nID){ m_hwnd = CreateWindow("LISTBOXEX", "", dwStyle, rect.left, rect.top, rc.Width(), rc.Height(), pParentWnd->m_hwnd, nID, hInstance, NULL); return m_hwnd == NULL ? FALSE : TRUE;}// 时间长不用,不会用了。:) 哦,老兄的意思是要自己做控件,不使用MFC,这好像也不难嘛。 你需要实现自己的消息处理函数,包括WM_CREATE,WM_PAINT,WM_NCPAIANT等等消息,注册你的自己的控件,你就可以像创建标准的控件(如“BUTTON”)那样调用CreateWindow或CreateWindowEx那样来生成你的控件了。 FireAngel兄说的没错。 我想知道的是怎样注册一个系统级别的窗口类(就像ReBar那样),为我的其他所有应用程序提供服务。而这些程序既有C写的(显然无法用MFC了),又有C++写的。 我知道要使用动态连接库来做,但具体如何操作以及有什么要注意的就不知道了。MSDN中也说的不清不楚。FireAngel兄帮忙。 我查了一下书(查了好久):用CS_GOBALCLASS标志可以定义系统类,此外系统类必须在dll的中注册,在dll退出时必须用UnregisterClass反注册。 我已经搞定了。在Visual C++技术内幕上有自定义控件的方法。看起来Common Control用的方法差不多。谢谢大家! png加载之后,怎么与下面函数配合使用? 电子档案编制系统VC++全套源代码发布了 CString 怎么转换为 控件ID? 关于PictureControl上面用GDI画图的问题【散分】 怎么获取像网页中用的密码一样的MD5字符串呢? 关于DirectX中的粒子动画的求教。 我的SDI程序中视图中SetTimer()没有起作用?为什么?怎么办? VC 中CLASSVIEW看不到类问题 高手之初-----你面試時被問到的問題?(vc程序員) SDI中的某一个子视图里怎样对主窗口的状态栏进行更改?? 我糊涂了! 关于线程的句柄和id
成CreateWindow("LISTBOXEX",...);
如:
class CListBoxEx
{
virtual BOOL Create(DWORD dwStyle, const RECT& rect,
CWnd* pParentWnd, UINT nID); //可根据具体情况重载此函数。
}//可根据具体情况决定调用方式,
BOOL CListBoxEx::Create(dwStyle, rect, pParentWnd, nID)
{
m_hwnd = CreateWindow(LISTBOXEX, "", dwStyle, rect.left,
rect.top, rect.right, rect.bottom,
pParentWnd->m_hwnd, nID, hInstance, NULL);
return m_hwnd == NULL ? FALSE : TRUE;
}
成CreateWindow("LISTBOXEX",...);
如:
class CListBoxEx
{
virtual BOOL Create(DWORD dwStyle, const RECT& rect,
CWnd* pParentWnd, UINT nID); //可根据具体情况重载此函数。
}//可根据具体情况决定调用方式,
BOOL CListBoxEx::Create(dwStyle, rect, pParentWnd, nID)
{
m_hwnd = CreateWindow("LISTBOXEX", "", dwStyle, rect.left,
rect.top, rect.right, rect.bottom,
pParentWnd->m_hwnd, nID, hInstance, NULL);
return m_hwnd == NULL ? FALSE : TRUE;
}
leer:你懂不懂我在说什么?仔细看看我的题目先!(简单的问题我还问吗)
成CreateWindow("LISTBOXEX",...);
如:
class CListBoxEx
{
virtual BOOL Create(DWORD dwStyle, const RECT& rect,
CWnd* pParentWnd, UINT nID); //可根据具体情况重载此函数。
}//可根据具体情况决定调用方式,
BOOL CListBoxEx::Create(dwStyle, rect, pParentWnd, nID)
{
m_hwnd = CreateWindow("LISTBOXEX", "", dwStyle, rect.left,
rect.top, rc.Width(), rc.Height(),
pParentWnd->m_hwnd, nID, hInstance, NULL);
return m_hwnd == NULL ? FALSE : TRUE;
}// 时间长不用,不会用了。:)
你需要实现自己的消息处理函数,包括WM_CREATE,WM_PAINT,WM_NCPAIANT等等消息,注册你的自己的控件,你就可以像创建标准的控件(如“BUTTON”)那样调用CreateWindow或CreateWindowEx那样来生成你的控件了。
FireAngel兄说的没错。 我想知道的是怎样注册一个系统级别的窗口类(就像ReBar那样),为我的其他所有应用程序提供服务。而这些程序既有C写的(显然无法用MFC了),又有C++写的。 我知道要使用动态连接库来做,但具体如何操作以及有什么要注意的就不知道了。MSDN中也说的不清不楚。FireAngel兄帮忙。
用CS_GOBALCLASS标志可以定义系统类,此外系统类必须在dll的中注册,在dll退出时必须用UnregisterClass反注册。
我已经搞定了。在Visual C++技术内幕上有自定义控件的方法。看起来Common Control用的方法差不多。谢谢大家!