gpt4 book ai didi

c++ - 使用 ATL 调用 Dialog.DoModal 在 Windows CE 6.0 上不起作用

转载 作者:行者123 更新时间:2023-11-28 06:40:30 26 4
gpt4 key购买 nike

我们有一个适用于 Windows CE 和 Windows Mobile 的应用程序。在此应用程序中,如果按下工具栏中的按钮,应显示一个对话框。这在 Windows CE 7 和 Windows Mobile 6.5.3 上工作得很好,但由于某些原因它不能在 Windows CE 6.0 上工作。我们使用 ATL- 和 WTL-Library 来实现。

调用代码如下

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) AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, LPARAM dwInitParam)

typename Helper::ReturnType AtlAxDialogCreateT(HINSTANCE hInstance, StringType lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, LPARAM dwInitParam)

下面是调用

nRet = (*pFunc)(hInstance, lpDialogTemplate, hWndParent, lpDialogProc, dwInitParam);

结果返回 -1,调用被取消。在其他操作系统上,这不会发生。

有谁知道造成这种行为的原因是什么?

编辑 10.10.14:这是我们在 CE 7 和 ME 6.5.3 上运行的资源脚本的异常(exception)

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) 初始化选项卡控件。

关于c++ - 使用 ATL 调用 Dialog.DoModal 在 Windows CE 6.0 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26059615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com