Re: [問題] 在文字遊標上輸出文字

看板C_and_CPP (C/C++)作者 (小鋼)時間15年前 (2011/03/05 11:05), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《smallsteel (小鋼)》之銘言: : 現在正在寫手寫辨識程式 : 當然手寫辨識的部分是用MS的啦= = : 現在的需求是 : 假設我現在開一個記事本 然後再開辨識程式 : 1.文字游標還會停留在記事本上 : 然後我辨識程式將文字輸出之後 : 2.文字可以從文字遊標上顯示出來 : 目前有這兩個問題..... : 想請問一下會用到甚麼樣的函式? : 關於2的部份我曾經用過 : SendMessage(NULL, WM_CHAR, 'a', 0); : 或 : SendMessage(HWND_BROADCAST, WM_CHAR, 'a', 0); : 結果是失敗的 : 是否還需要指定視窗呢? 關於SendMessage遇到新問題了 因為要傳中文字..... char id_text[MAX_PATH] ====== 傳進"好\0" ====== SendMessage(hwnd, WM_IME_CHAR, id_text[0], 1); SendMessage(hwnd, WM_IME_CHAR, id_text[1],1 ); 結果失敗..... 用過SendMessageA也失敗 因為以後可能要傳送多個字 所以才用MAX_PATH 有試過SendMessage(hwnd, WM_SetText, 0 ,(LONG)id_text); 但傳完之後游標不會往後移動 再寫一次就會把前一次給覆蓋掉了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 70.50.105.135 ※ 編輯: smallsteel 來自: 70.50.105.135 (03/05 11:39)

03/05 12:52, , 1F
MSDN寫的很清楚,wParam要傳雙字元的value,請用WCHAR
03/05 12:52, 1F

03/05 12:56, , 2F
而且中文字一定是兩個char,原PO不知道嗎
03/05 12:56, 2F

03/05 13:33, , 3F
所以我才送兩次sendmessage阿
03/05 13:33, 3F

03/05 13:36, , 4F
中文DBCS每個char一定大於128,單獨傳送一定打回票
03/05 13:36, 4F

03/05 13:39, , 5F
可以宣告WCHAR* temp=(WCHAR*)id_text;
03/05 13:39, 5F

03/05 13:39, , 6F
SendMessage(hwnd, WM_IME_CHAR,*temp, 1);
03/05 13:39, 6F
文章代碼(AID): #1DSQXnrn (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DSQXnrn (C_and_CPP)