簡體   English   中英

從編輯控件中讀取文本

[英]read text from edit control

我想閱讀用戶在“編輯”控件中鍵入的文本。 輸入文本並按下按鈕后,我要獲取文本並將其作為項目添加到comboBox中。 這是我在父對話框的WM_COMMAND中所做的事情:

case WM_COMMAND:

    if(HIWORD(wParam) == BN_CLICKED)
    {
        if ((HWND)lParam == Button[0])
        {



                int len = GetWindowTextLengthW(Button[2]) + 1;
                GetWindowTextW(Button[2], text, len);
                SendMessage(Button[1],(UINT) CB_ADDSTRING,(WPARAM) 0,(LPARAM) text);

                }
        }


    return 0;

但是出了問題,有時候我在“文本”變量中得到NULL ,有時只是用戶輸入的字符串的第一個字符,有時又像字符一樣奇怪的ASCII。 我在做什么? 有任何想法嗎 ?

您需要為字符串分配內存。 這是人們期望在C ++ 03中實現的方式:

std::vector<wchar_t> str(len);
GetWindowTextW(Button[2], &str[0], str.size());
SendMessageW(Button[1], CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(&str[0]));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM