wchar_t *st[101]; //будет массив с указателей, тебе как понимаю нужен wchar_t st[101]; //массив символов под строку GetWindowText( hWnd, st, ARRAYSIZE(st) );
ASMatic Спасибо большое. Вот только вопрос. Когда содержимое поля сохраняется в массиве? Когда пользователь щелкнет по клиентской области? или постоянно?
Mark ого, вопросец) - у тебя на стеке выделяются место под строку wchar_t st[101]; // sub esp, 202 потом ты вызываешь апишку GetWindowText() где то там внутри виндоса лежит этот текст и после того как ты кольнул апишку система скопировала в твой буфер содержимое своего буфера (с которого рисуется текст) и вернула длину... Так что изменений тебе не видать, т.е. хош узнать что там написано - "позвони" и спроси)
ASMatic Ну мне надо сохранить содержимое в массив, записать в txt, а потом, после открытия этой программы, вывести в текстовое поле поле. Думаю, как сделать. На чем я сейчас завис - как потом вывести этот массив на экран? Да, вот: в какой момент будет производиться вывод? Ну как пользователь ввел текст и нажал на кнопку? Или как?
Mark иди почитай чего..не знаю даже - в примерах поищи готового чего-то с едитом и т.п. Поищи тут на форуме или в гугле. Вариантов реально куча, а там уже поднастроишь под себя, когда поймешь что к чему.
yashechka> не верно. gh - HWND. ID ты сам должен задать, через параметр hMenu. Или можно получить через ф-ю: Код (Text): int GetDlgCtrlID(HWND hwndCtl);
А в чем проблема-то? для Код (Text): gh = CreateWindow( L"edit", L"Ваши заметки: ", WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_MULTILINE|ES_LEFT, 0, 0, 300, 500, hwnd, 12, /* <--- Твой CtrlID, в данном случае ID = 12 */ hInstance, NULL);
Я просто нашел такую штуку: wchar_t st[101]; //массив символов под строку gh = CreateWindow( L"edit", L"Ваши заметки: ", WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_MULTILINE|ES_LEFT, 0, 0, 300, 500, hwnd, NULL, hInstance, NULL); GetDlgItemText ( gh, int nIDDlgItem, // идентификатор элемента управления st, // адрес буфера для текста ARRAYSIZE(st) // максимальная длина строки );
Код (Text): int EditCtrlID = 12; gh = CreateWindow( L"edit", L"Ваши заметки: ", WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_MULTILINE|ES_LEFT, 0, 0, 300, 500, hwnd, (HMENU) EditCtrlID, hInstance, NULL); /* ... */ GetDlgItemText( gh, EditCtrlID, // идентификатор элемента управления st, // адрес буфера для текста ARRAYSIZE(st) // максимальная длина строки );
rttgedt Не угадали))) Я короче изучил (не поверите - сам ) SetWindowText. И хочу сделать так: Пользователь ввел текст, и изменился заголовок. Сварил так: Ну и заголовок пустой ((( В чем проблема?