佚名通过本文主要向大家介绍了duilib自定义控件,duilib 控件,duilib控件属性,duilib时间控件,duilib.dll丢失怎么办等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:wince60使用duilib移植日历控件
描述:
CDateTimeUI
1、该控件继承了CLabelUI控件,该空间并无重写SetAttribute的函数。全部属性跟CLabelUI控件一样。
2、该控件又有CDateTimeWnd类的一个指针用来显示具体让你选择的时间,该类就是创建的是SysDateTimePick32的控件。 也许会疑惑,为什么Init函数里面的Create没有关于DateTimePick32的相关说明,但是却能创建出这样一个控件。主要要看 CWindowWnd::Create函数,该函数的第一个判断语句在GetSuperClassName()获取到了CDateTimeWnd函数的字符串, 因为不为空则调用对应的RegisterSuperclass进行注册DateTimePicker控件。
这是RegisterSuperClass函数的获取对应DateTimerPicker控件的Wndclassex ::GetClassInfoEx(NULL, GetSuperClassN ame(), &wc)
3、该控件在被选中的时候就New一个CDateTimeWnd的实例,并显示。(见DoEvent)
4、CDatetimeWnd在失去焦点之后会自动销毁自身,并把时间设置给CDateTimeUI
问题:在wince下移植日历控件的时候
///移植代码
WNDCLASS wc = { 0 };
if( !::GetClassInfo(NULL, GetSuperClassName(), &wc) ) {
int n = GetLastError();
if( !::GetClassInfo(CPaintManagerUI::GetInstance(), GetSuperClassName(), &wc) ) {
ASSERT(!"Unable to locate window class");
return NULL;
}
}
////
GetSuperClassName() 返回_T("SysDateTimePick32"),::GetClassInfo在win32下可以使用,wince下不行,wc的值为空
getlasterror = 1411
解决方案1:
MFC?是桌面系统,还是 WinCE?
WinCE的 MFC只是桌面系统的一个子集,而不是全部。
描述:
wince 日历控件wince
参考:win32下CDateTimeUI
1、该控件继承了CLabelUI控件,该空间并无重写SetAttribute的函数。全部属性跟CLabelUI控件一样。
2、该控件又有CDateTimeWnd类的一个指针用来显示具体让你选择的时间,该类就是创建的是SysDateTimePick32的控件。 也许会疑惑,为什么Init函数里面的Create没有关于DateTimePick32的相关说明,但是却能创建出这样一个控件。主要要看 CWindowWnd::Create函数,该函数的第一个判断语句在GetSuperClassName()获取到了CDateTimeWnd函数的字符串, 因为不为空则调用对应的RegisterSuperclass进行注册DateTimePicker控件。
这是RegisterSuperClass函数的获取对应DateTimerPicker控件的Wndclassex ::GetClassInfoEx(NULL, GetSuperClassN ame(), &wc)
3、该控件在被选中的时候就New一个CDateTimeWnd的实例,并显示。(见DoEvent)
4、CDatetimeWnd在失去焦点之后会自动销毁自身,并把时间设置给CDateTimeUI
问题:在wince下移植日历控件的时候
///移植代码
WNDCLASS wc = { 0 };
if( !::GetClassInfo(NULL, GetSuperClassName(), &wc) ) {
int n = GetLastError();
if( !::GetClassInfo(CPaintManagerUI::GetInstance(), GetSuperClassName(), &wc) ) {
ASSERT(!"Unable to locate window class");
return NULL;
}
}
////
GetSuperClassName() 返回_T("SysDateTimePick32"),::GetClassInfo在win32下可以使用,wince下不行,wc的值为空
getlasterror = 1411
解决方案1:
MFC?是桌面系统,还是 WinCE?
WinCE的 MFC只是桌面系统的一个子集,而不是全部。