在发贴前我已经找过相关的贴子,但我按上面的方法也没有解决问题。所以来请教大家。关于WINCE下去掉界面标题栏上的“OK”的作法,
我是新建的MFC工程,没有加任何程序,只为去掉OK按钮。
我在程序最开始加了#include <aygshell.h>
在初始化里加了SHDoneButton(m_hWnd,SHDB_HIDE);为什么编译还会有错误error C2061: syntax error : identifier 'IShellPropSheetExt'。还有一种情况是把#include <aygshell.h>这句放在最前面错误没有了。
但是不能组建,提示:.obj : error LNK2019: unresolved external symbol SHDoneButton referenced in function "protected: virtual int __cdecl CDYBCSYDlg::OnInitDialog(void)" (?OnInitDialog@CDYBCSYDlg@@MAAHXZ)
ARMV4IDbg/DYBCSY.exe : fatal error LNK1120: 1 unresolved externals
我弄了一天了也没解决。大家帮我一下吧。谢谢了.cpp内容如下
// sdDlg.cpp : implementation file
//
#include <Aygshell.h>#include "stdafx.h"//此句是包含的函数要求的文件
#include "sd.h"
#include "sdDlg.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif/////////////////////////////////////////////////////////////////////////////
// CSdDlg dialogCSdDlg::CSdDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSdDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSdDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}void CSdDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSdDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}BEGIN_MESSAGE_MAP(CSdDlg, CDialog)
//{{AFX_MSG_MAP(CSdDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
// CSdDlg message handlersBOOL CSdDlg::OnInitDialog()
{
CDialog::OnInitDialog(); // Set the icon for this dialog.  The framework does this automatically
//  when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

CenterWindow(GetDesktopWindow()); // center to the hpc screen
SHDoneButton(m_hWnd,SHDB_HIDE);//些处是加的去掉OK的语句
// TODO: Add extra initialization here

return TRUE;  // return TRUE  unless you set the focus to a control
}

解决方案 »

  1.   

    我也想学ce 难吗?有点VC基础
      

  2.   


    会VC,做WINCE应用程序不难。基本都差不多。
    但是要做裁剪,修改内核,定制。这些就需要学习一下了
      

  3.   


    tool--option--directories--C:\Program Files\Windows CE Tools\wce500\ce50_2440a_test\lib\ARMV4I已经添加。
      

  4.   

    aygshell.lib也要写在路径里吗?这个我倒是没有做。不太清楚如何添加
      

  5.   

    你是EVC还是VS2005?
    一般都在LINK里面。
      

  6.   

    #include <Aygshell.h>#include "stdafx.h"//此句是包含的函数要求的文件
    你这个是怎么回事?把
    #include <Aygshell.h>
    放到#include "stdafx.h"的后面去
      

  7.   


    前面,后面的顺序我都试过了。
    放前面的错误提示如题。
    放后面的错误提示是:SHDB_HIDE未定义
      

  8.   

    呵呵。已经解决了。解决方法是:打开资源文件(*.rc),找到这行:EXSTYLE WS_EX_APPWINDOW | 0x80000000L.只要将0x80000000L删除,就可以去掉"OK"按钮.同理,如果要添加"OK"键,在其后添上EXSTYLE WS_EX_APPWINDOW | 0x80000000L即可.但愿能帮助有需要的朋友,也谢谢帮助我的朋友们。。
      

  9.   


    对的,是删除EXSTYLE WS_EX_APPWINDOW | 0x80000000L
    不仅仅是0x80000000L。