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

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

結果顯示的還是原來的內容,究竟為什么呢?

結果顯示的還是原來的內容,究竟為什么呢?

C
哆啦的時光機 2023-03-05 18:13:45
Sets the caption or text of a control owned by a window or dialog box.void SetDlgItemText(int nID,LPCTSTR lpszString );請問一下,SetDlgItemText是如何改變控件的內容的。我在VS2008里面的OnCreate函數調用這個函數:SetDlgItemTextW(IDC_INFO2, str);經過調試,str的值OK,就是沒有設置成功。另外,為什么我在構造函數里面調用這條函數的時候會出現很嚴重的后果呢---斷言失?。∪绻以O置一個變量來修改的話,就可以!一樓回答很靠譜!不過“呼叫UpdateData()函數進行更新”還是沒有用!我在書上看到一句話“對話框數據成員的初始化工作一般在其構造函數進行,而對話框和控件的初始化則在OnInitDialog()函數中完成”。因為我有兩種方法,如果為控件建立一個變量,例如m_strName,則在構造函數中設置它的值。如果要使用SetDlgItemTextW這條函數,則在OnInitDialog()函數中調用。
查看完整描述

2 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

SetDlgItemText()設置過后要呼叫UpdateData()函數進行更新,否則顯示不出來。至于在構造函數里使用這個東西呢,要看你那個對象是否已經完全構造出來了,一般是不放在構造函數里的,構造函數一般只用于成員的初始化或者其他啥的.
依照你的補充,這樣你可以在對話框的類中進行這項工作,貌似無法從其他的類中進行?如果要從其他類中進行的話就必須定義一個全局變量?

查看完整回答
反對 回復 2023-03-08
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

SetDlgItemText函數的功能:設置對話框中控件的文本和標題。
  使用方法參考如下:
  itoa(str33, str3, 10);
  SetDlgItemText ( hwnd , IDC_EDIT3 , str3) ;
  其中str33為int型的數字,str3為字符串指針。
  第一句代碼作用:用itoa函數將int型的數字str33轉化為字符串,并且將字符串放到str3指針指向的區域。
  str3為字符串指針,里面包含著文本內容。
  第二句代碼作用就是將str3的內容顯示到ID為IDC_EDIT3的控件。

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 105 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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