我自制了一个 AfxMessageBox() 对话框窗口,在主对话框中调用这个子窗口
请问该如何指定该子窗口的static text 内容,具体代码如何写?

解决方案 »

  1.   

    既然是你自制的,那么你可以将static text 内容做为参数传入
      

  2.   


    可是我自制的这个AfxMessageBox 对话框将用于各种场合,如果遇到一个场合就定义一个函数,来改变自身的static text内容,那岂不是很冗长??有没有简便的方法?比如在主对话框建立这个消息窗口时:void CMyDlg::button()
    {
    // ..... CMyMessageDlg MsgDlg;
    MsgDlg.GetDlgItem(IDC_STATIC_MSG)->SetWindowText(L"改变内容"); // .....
    }这样子写吗??? 可是这样写执行异常
      

  3.   

    #define ID_MSGBOX_STATIC_TEXT    0x0000ffff
    HWND hwnd = FindWindow(NULL, "msgboxtext");
    SetDlgItemText(hwnd, ID_MSGBOX_STATIC_TEXT, "test");//ID_MSGBOX_STATIC_TEXT是MessageBox的静态文本框,不知道对AfxMessageBox有用否
      

  4.   


    HWND hwnd = FindWindow(NULL, "msgboxtext"); 
    这句话什么意思? 找字符串"msgboxtext"??
    我不是修改,我是想指定,我这个static text,在编辑器里,他的caption是空值,
    我是想需要指定什么值,就指定什么值
      

  5.   

    不是找字符串,是找MessageBox的窗口句柄,msgboxtext改为你MessageBox的标题
      

  6.   


    但是如果有两个static text 怎么办?? 会找到哪一个呢?你也未指定是找哪一个static text
      

  7.   


    你是说找那个以"msgboxtext"为标题的窗口句柄?? 
      

  8.   

    如果是找那个以"msgboxtext"为标题的窗口句柄?? ,那我的肯定找不到了,因为Border别设为None,没有标题
      

  9.   

    你可以 send 消息到主对话框,然后使用你自定义的类来弹出对话框。或者,直接 定义一个新的类,
    类中封装一个函数,静态的,比如 static void DIY_afxmessage(cstring showText);用于调用弹出对话框,传入值为Cstring型。每次使用,只要引用一下头文件就行了。