使用ATL调用Dialog.DoModal在Windows CE 6.0上不起作用
Call of Dialog.DoModal with ATL does not work on Windows CE 6.0
我们有一个适用于Windows CE和Windows Mobile的应用程序。在该应用程序中,如果按下工具栏中的按钮,则应显示对话框。这在Windows CE 7和Windows Mobile 6.5.3上运行得很好,但由于某些原因,它无法在Windows CE 6.0上运行。我们正在使用ATL和WTL库进行实现。
这是调用的代码
LRESULT CMainWindow::OnSettings(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) {
this->settingsWnd.DoModal(this->m_hWnd);
return S_OK;
}
我已经把它调试好了。
它来自
ATL::CAxDialogImpl:DoModal(HWND hWndParent,LPARAM dwInitParam)
超过
ATLINLINE ATLAPI_(INT_PTR)AtlasDialogBoxW(HINSTANCE HINSTANCE,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogProc,LPARAM dwInitParam)
至
typename帮助程序::ReturnType AtlasDialogCreateT(HINSTANCE HINSTANCE,StringType lpTemplateName,HWND hWndParent,DLGPROC lpDialogProc,LPARAM dwInitParam)
以下是呼叫
nRe=(*pFunc)(hInstance,lpDialogTemplate,hWndParent,lpDialogProc,dwInitParam);
结果返回-1,调用被取消。在另一个操作系统上,这种情况不会发生。
有人知道这种行为的原因是什么吗?
编辑10.10.14:这是我们的资源脚本中的一个例外,它正在CE 7和ME 6.5.3 上工作
IDD_SETTINGS DIALOG 0, 0, 156, 169
STYLE DS_SETFONT | WS_POPUP | WS_CAPTION
CAPTION "Einstellungen"
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "",IDC_TAB1,"SysTabControl32",0x0,7,7,142,137
PUSHBUTTON "Cancel",IDCANCEL,93,148,56,16
DEFPUSHBUTTON "OK",IDOK,7,148,56,16
END
IDD_SETTINGS_HP DIALOG 0, 0, 128, 119
STYLE DS_SETFONT | WS_CHILD
FONT 8, "Tahoma"
BEGIN
EDITTEXT IDC_HOMEPAGE,7,16,115,13,ES_AUTOHSCROLL
EDITTEXT IDC_TIMEOUT,88,33,34,13,ES_AUTOHSCROLL
EDITTEXT IDC_TRYTIMES,103,50,19,12,ES_AUTOHSCROLL | ES_NUMBER
EDITTEXT IDC_HOMEPAGE2,7,76,115,13,ES_AUTOHSCROLL
EDITTEXT IDC_HOMEPAGE3,7,102,115,13,ES_AUTOHSCROLL
LTEXT "Homepage (Main Server)",IDC_STATIC,7,6,80,8
LTEXT "Homepage (Backup Server 1)",IDC_STATIC,7,66,94,8
LTEXT "Homepage (Backup Server 2)",IDC_STATIC,7,92,94,8
LTEXT "Times to try before switching",IDC_STATIC,7,51,93,8
LTEXT "Connection Timeout (ms)",IDC_STATIC,7,35,80,8
END
使用InitCommonControlsEx(ICC_TAB_CLASSES)初始化选项卡控件。
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么简单的算术减法在"if"条件下不起作用?
- 为什么Stroustup书中的has_f不起作用
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 嵌套While循环不起作用(C++问题)
- C++Matching Brackets 2解决方案不起作用
- 使用ATL调用Dialog.DoModal在Windows CE 6.0上不起作用
- 在Windows CE上安装CAB时,安装DLL不起作用