亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的目的上在點擊確定后將添加的房間顯示到主窗口的列表上,但是點擊后,主窗口列表無反應

我的目的上在點擊確定后將添加的房間顯示到主窗口的列表上,但是點擊后,主窗口列表無反應

C++
猛跑小豬 2023-04-22 22:18:10
首先我是MFC中基本對話框寫的,主窗口是IDD_SHANGWEIJI_DIALOG,在主窗口上有個“添加刪除房間”按鈕,響應函數為void CShangweijiDlg::OnTianjia_Dele_Room() //添加刪除房間按鈕的響應函數{// TODO: Add your control notification handler code hereCTianJia_Delet TianjiaDelet_room;  TianjiaDelet_room.DoModal();}點擊它彈出另一個IDD_TianJia_Dele窗口,窗口上有個添加房間的編輯框IDC_EDIT_Room和確定按鈕,確定按鈕響應函數void CTianJia_Delet::OnOK_TianjiaRoom()  {GetDlgItemText(IDC_EDIT_Room,m_TianjiaDeletRoom);//獲得添加菜單中的內容CString strTemp;HWND zhu_hwnd=::GetParent(m_hWnd);//獲得主窗口,但去掉::就錯誤,不知道為什么//獲得主窗口列表中已添加的房間GetDlgItemText(IDC_LISTROOM,strTemp);//IDC_LISTROOM是主窗口主窗口是IDD_SHANGWEIJI_DIALOG上得一個列表 控件,我的目的上在點擊確定后將添加的房間顯示到主窗口的列表上,但是點擊后,主窗口列表無反應strTemp+="\r\n";strTemp+=m_TianjiaDeletRoom;//在主窗口列表中顯示所有添加的房間SetDlgItemText(IDC_LISTROOM,strTemp); CDialog::OnOK();}
查看完整描述

2 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

列表控件的添加,不是使用SetDlgItemText()方式的。
另外,你這是對話框值傳遞的問題。可以使用更簡單的方法,而不是使用GetParent()獲取父窗口的句柄!
方法是:
在void CShangweijiDlg::OnTianjia_Dele_Room() 響應函數中
void CShangweijiDlg::OnTianjia_Dele_Room() 
{
CTianJia_Delet TianjiaDelet_room;  
if(IDOK==TianjiaDelet_room.DoModal()) //TianjiaDelet_room窗口按下IDOK鍵。即確定按紐
{
((CListBox *)GetDlgItem(IDC_LISTROOM))->AddString(TianjiaDelet_room.m_TianjiaDeletRoom);//將子對話框成員變量m_TianjiaDeletRoom的值添加到IDC_LISTROOM控件的結尾。
}
}
在子對話框的void CTianJia_Delet::OnOK_TianjiaRoom() 函數中
{
UpdateData();//將值更新到關聯變量中m_TianjiaDeletRoom,這里假設你的編輯框IDC_EDIT_Room關聯了變量m_TianjiaDeletRoom
CDialog::OnOK();
}

查看完整回答
反對 回復 2023-04-26
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

你首先要明確一點:
這個程序代碼,你是在cmycubeview的成員函數中,這個是對話框?idc_edit1是屬于cmycubeview還是cmynewdlg?
如果屬于cmynewdlg,那么在domodal之后,是不能這樣調用的,getdlgitem(idc_edit1)->getwindowtext(ch1);只能放在對話框的onok里面,并且通過類成員變量保存,并在domodal之后,通過dlg.strxxx形式來獲取。

查看完整回答
反對 回復 2023-04-26
  • 2 回答
  • 0 關注
  • 233 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號