全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2446
推到 Plurk!
推到 Facebook!

關於Messagebox輸出ListBox的選項問題

答題得分者是:GrandRURU
lingba_song
一般會員


發表:2
回覆:2
積分:0
註冊:2015-07-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-07-07 19:44:58 IP:114.26.xxx.xxx 訂閱
小弟想寫一個選擇後,按下按鈕可以跳出彈跳視窗,告訴我選擇的是那個。



而我知道選項是ListBox1->Item->Strings[ListBox1->ItemIndex];

可以告知我選擇的是哪個一個選項,然而我想要用Messagebox,去輸出ListBox1->Item->Strings[ListBox1->ItemIndex];會產生錯誤,

假設我要寫一個刪除選項,要有一個彈跳視窗輸出:你確定要刪除 某某某 選項嗎?,某某某就是我選擇的選項,那我應該如何去寫?怎麼去串接文字?
------
Hello, I am a novice of C++.
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-07-08 08:52:52 IP:59.120.xxx.xxx 訂閱
在一個使用ShowModal的Form上,要如何讓MessageBox正確顯示?
===================引 用 lingba_song 文 章===================
小弟想寫一個選擇後,按下按鈕可以跳出彈跳視窗,告訴我選擇的是那個。



而我知道選項是ListBox1->Item->Strings[ListBox1->ItemIndex];

可以告知我選擇的是哪個一個選項,然而我想要用Messagebox,去輸出ListBox1->Item->Strings[ListBox1->ItemIndex];會產生錯誤,

假設我要寫一個刪除選項,要有一個彈跳視窗輸出:你確定要刪除 某某某 選項嗎?,某某某就是我選擇的選項,那我應該如何去寫?怎麼去串接文字?
lingba_song
一般會員


發表:2
回覆:2
積分:0
註冊:2015-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-07-08 13:57:37 IP:114.26.xxx.xxx 訂閱
請問是要我再用一個Form的意思嗎..?
我太新手了 有點看不懂 抱歉 ><

===================引 用 GrandRURU 文 章===================
在一個使用ShowModal的Form上,要如何讓MessageBox正確顯示?
===================引 用 lingba_song 文 章===================
小弟想寫一個選擇後,按下按鈕可以跳出彈跳視窗,告訴我選擇的是那個。



而我知道選項是ListBox1->Item->Strings[ListBox1->ItemIndex];

可以告知我選擇的是哪個一個選項,然而我想要用Messagebox,去輸出ListBox1->Item->Strings[ListBox1->ItemIndex];會產生錯誤,

假設我要寫一個刪除選項,要有一個彈跳視窗輸出:你確定要刪除 某某某 選項嗎?,某某某就是我選擇的選項,那我應該如何去寫?怎麼去串接文字?
------
Hello, I am a novice of C++.
lingba_song
一般會員


發表:2
回覆:2
積分:0
註冊:2015-07-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-07-08 21:03:04 IP:114.26.xxx.xxx 訂閱
目前已知道主要問題是:
ListBox1->Items->Strings 回傳的是UnicodeString
而MessageBox是wchar_t,應該能用c_str()轉換,
但我的問題點在於如何串接一段文字"確定要刪除"跟ListBox1->Items->Strings,串再一起,用Messagebox呈現
------
Hello, I am a novice of C++.
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-07-09 10:07:08 IP:59.120.xxx.xxx 訂閱
您可以使用字串串接符號 "+",將要顯示的文字和 ListBox1->Items->Strings[ListBox1->ItemIndex] 串接起來,然後再使用 c_str() 函式將結果轉換為 wchar_t 型態,最後使用 MessageBox 函式顯示彈跳視窗。
以下是示範程式碼:

[code cpp]
UnicodeString selectedOption = ListBox1->Items->Strings[ListBox1->ItemIndex];
UnicodeString message = "確定要刪除 " selectedOption " 選項嗎?";
int result = MessageBoxW(NULL, message.c_str(), L"確認刪除", MB_YESNO | MB_ICONQUESTION);
if (result == IDYES) {
// 刪除選項的程式碼
}
[/code]
在這個範例中,我們先將 ListBox1 中被選取的選項存放在 UnicodeString 變數 selectedOption 中,然後使用 " " 字串串接符號將 "確定要刪除 "、selectedOption 和 " 選項嗎?" 這三個字串串接起來,最後得到一個 UnicodeString 變數 message,代表要顯示在彈跳視窗中的文字內容。
編輯記錄
GrandRURU 重新編輯於 2023-04-28 13:40:30, 註解 無‧
系統時間:2024-03-29 7:49:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!