Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с АПИ! Помогите разобраться плз! 
:(
    Опции темы
Devider
Дата 24.12.2004, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.12.2004

Репутация: нет
Всего: нет



Господа!
Столкнулся с такой проблемой: в программке есть поле для ввода некой величины, которую нужно изменить из программы, которую я сейчас пишу. Вот, что у меня получилось:
CWnd* cWnd = FindWindow(NULL,"Form1");
if (!cWnd)
{
AfxMessageBox("!found");
return;
}
POINT p;
p.x = 5;
p.y = 5;
CWnd* cChildWnd = cWnd->ChildWindowFromPoint(p);
//Попадаю, вроде =) Мож как получше можно?
if (!cChildWnd)
{
AfxMessageBox("!found");
return;
}
// Это сотрет значение того поля
cChildWnd->SendMessage(WM_CLEAR,0,0);
А нужно его не стереть, а ввести новое. Подскажите, кто в курсе, пожалуйста!=)
PM MAIL   Вверх
Mad
Дата 24.12.2004, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 2
Всего: 19



Цитата(Devider @ 24.12.2004, 13:38)
в программке есть поле для ввода некой величины,

А какой класс CEdit ?

Цитата(Devider @ 24.12.2004, 13:38)
cChildWnd->SendMessage(WM_CLEAR,0,0);
А нужно его не стереть, а ввести новое. Подскажите, кто в курсе, пожалуйста!=)

cChildWnd->SendMassage(WM_SETTEXT, 0, "новое значение");



--------------------
user posted image
PM MAIL   Вверх
Devider
Дата 24.12.2004, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.12.2004

Репутация: нет
Всего: нет



Цитата(Mad @ 24.12.2004, 14:52)
Цитата(Devider @ 24.12.2004, )
в программке есть поле для ввода некой величины,

А какой класс CEdit ?


Не знаю, программа не моя, защищена черт знает как. Но написана, вроде на Дельфи.
PM MAIL   Вверх
Devider
Дата 24.12.2004, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.12.2004

Репутация: нет
Всего: нет



cChildWnd->SendMessage(WM_SETTEXT,0,(WPARAM)"Test"); Во! Точно! Всем спасибо!
PM MAIL   Вверх
Devider
Дата 24.12.2004, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.12.2004

Репутация: нет
Всего: нет



И под конец совсем дурацкий вопрос: а как сгенерить нажатие Ентера?

Вот такая штука не работает, хотя вроде 'х' должен получиться...
cWnd->BringWindowToTop();
cChildWnd->SetFocus();
cChildWnd->SendMessage(WM_KEYDOWN,88,0);

Это сообщение отредактировал(а) Devider - 24.12.2004, 17:16
PM MAIL   Вверх
Mad
Дата 24.12.2004, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 2
Всего: 19



Попробуй так
Код

cChildWnd->SendMessage(WM_KEYDOWN,88,0);
cChildWnd->SendMessage(WM_KEYUP,88,0);



--------------------
user posted image
PM MAIL   Вверх
Devider
Дата 24.12.2004, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.12.2004

Репутация: нет
Всего: нет



Вообще фигня получается: написал программульку, которая говорит, что на ней нажато было, и она утверждает, что клавиша была дважды отпущена...
Добавлено @ 18:23
cChildWnd->SendMessage(WM_KEYDOWN, VK_RETURN, 0L);
cChildWnd->SendMessage(WM_KEYUP, VK_RETURN, 0L);
Во! Так заработало! Пасиб за идеи!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0853 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.