void CnewsxydDlg::OnBnClickedButton1
{GetDlgItem(IDC_EDIT1)->SetWindowText("asdfasd");
}没问题
可是我在
MYFUNC()
{
GetDlgItem(IDC_EDIT1)->SetWindowText("asdfasd");}
中就不行,说是->左边不是结构或类,该如何改才可以呀
谢谢各位帮我解答

解决方案 »

  1.   

    GetDlgItem不是一个全局函数,所以当然不能这么用了
    在myfunc中如果想对对话框进行控制,需要得到该对话框的对象才行
      

  2.   

    这样当然不行啦
    MYFUNC(CDialog *pDlg)
    {
        pDlg->GetDlgItem(IDC_EDIT1)->SetWindowText("asdfasd");
    }你调用这个函数是在什么地方?能将对话框的指针传进去吗?
      

  3.   

    得到该对话框的对象,比如pDialog
    然后pDialog->GetDlgItem()
      

  4.   

    还有,那么
    class CnewsxydDlg : public CDialog
    {
    // 构造
    public:
    CnewsxydDlg(CWnd* pParent = NULL); // 标准构造函数// 对话框数据
    enum { IDD = IDD_NEWSXYD_DIALOG }; protected:
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
    // 实现
    protected:
    HICON m_hIcon; // 生成的消息映射函数
    virtual BOOL OnInitDialog();
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    DECLARE_MESSAGE_MAP()
    public:
    afx_msg void OnBnClickedOk();
    afx_msg void OnBnClickedCancel();
    CButton mb;
    afx_msg void OnBnClickedButton1();
    HANDLE serverthread;
    DWORD threadid;};
    生成的对话矿如何传给我的全局函数呢