Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 128
от 23.11.2002, 16:50

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 382
Отправлено ответов: 827
Активность: 216.4 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

PL
Статус: Начальный
Общий рейтинг: 106.89
[Подробней >>]
Jadd
Статус: Профессиональный
Общий рейтинг: 140
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.58
URL: Страничка обо мне и моих друзьях
[Подробней >>]
 
DiGiT[old]
Статус: Опытный
Общий рейтинг: 107.39
[Подробней >>]
Zloy
Статус: Опытный
Общий рейтинг: 107.86
URL: Паскаль, просто Паскаль ...
[Подробней >>]
Dzik
Статус: Опытный
Общий рейтинг: 114.24
URL: Разработка игрушек
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 377. Здравствуйте уважаемые эксперты! Маленький вопросик: Как програмно, с помощью api, заполнить поле &q... (ответов: 3)
Вопрос № 378. Дополнение к вопросу №377: Поле "Edit" имеет стиль ES_PASSWORD и никак не хочет заполнятьс... (ответов: 3)

Вопросов: 2, ответов: 6


 Вопрос № 377

Здравствуйте уважаемые эксперты!
Маленький вопросик:
Как програмно, с помощью api, заполнить поле "Edit" и нажать кнопку?(SetWindowText() не подходит, т. к. меняет только заголовок окна:-()
Заранее благодарен.



Вопрос отправлен: 20.11.2002, 05:41
Отправитель: Саша (a_klinton@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает PL

Здравствуйте, Саша!
Вообщето SetWindowText вполне подходит, ее только нужно вызвать правильно.
Установить текст в едит можно так:
1)GetDlgItem(ID_OF_YOUR_EDIT)->SetWindowText("Текст для едита");
2)Либо если у тебя есть HWNDешник твоего едита можно вызвать ее как АПИ
::SetWindowText(hWnd_of_your_edit,"The text you want");
или так
CWnd::FromHandle(hWnd_of_your_edit)->SetWindowText("The text you want");
Ну а на счет кнопки, то Вы тут немного неккоректны, нужно не нажать кнопку (хотя и это тоже можно сделать), а вызвать обработчик нажатия кнопки, те функцию.
Eg: OnButton1();
Вот вроде и все!


Ответ отправлен: 20.11.2002, 06:41
Отправитель: PL


Отвечает Jadd

Здравствуйте, Саша!
А эдит как объявлен? Как CString или как CEdit?
Если как CString, то работаешь как со строкой. А кнопку нажать - вызываешь обработчик нажатия нужной кнопки.

Ответ отправлен: 20.11.2002, 19:22
Отправитель: Jadd


Отвечает Gibbel

Приветствую Вас, Саша!
Ну, вообще-то, именно SetWindowText(), но только отправлять его нужно элементу управления Edit. Можно также ему послать WM_SETTEXT.
Или же, если Edit в том же приложении, откуда хочешь передавать ему информацию, то можешь сделать так: вызываешь GetWindowLong() (насколько я помню, параметр, необходимый нам #0). Дальше, к этому параметру GlobalLock(). И все, ты получаешь адрес, указывающий на строку, отображаемую в этом Edit. ;-) Да, незабудь потом GlobalUnlock() выполнить.

Ответ отправлен: 20.11.2002, 09:48
Отправитель: Gibbel


 Вопрос № 378

Дополнение к вопросу №377:
Поле "Edit" имеет стиль ES_PASSWORD и никак не хочет заполняться SetWindowText(), вернее заполняется его заголовок, а текста(звездочек) в поле нет:-(((
Кнопку мне нужно нажать в окне другой программы(уже запущеной:-))))
Нужно сделать все на api!



Вопрос отправлен: 20.11.2002, 07:45
Отправитель: Саша (a_klinton@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает DiGiT[old]

Здравствуйте, Саша!
1)Попробуй UpdateWindow()
2) Просылай WM_COMMAND этой кнопке


Ответ отправлен: 20.11.2002, 09:00
Отправитель: DiGiT[old]


Отвечает Zloy

Здравствуйте, Саша!
Относительно первого - поробуй послать сообщение WM_SETTEXT wParam = 0; // not used; must be zero
lParam = (LPARAM)(LPCTSTR)lpsz; // address of window-text string
или перерисуй окно UpdateWindow.
Нажать кнопку в другой проге:
получить её хендэл (например с помощью FindWindow), а потом послать ей сообщение, о том, что она нажата (через WM_COMMAND)


Ответ отправлен: 20.11.2002, 09:40
Отправитель: Zloy


Отвечает Dzik

Доброе время суток, Саша!
1) Может SetDlgItemText
2) Посылай сообщение WM_COMMAND, с параметром - хэндлом кнопки


Ответ отправлен: 20.11.2002, 11:52
Отправитель: Dzik



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (41)
C / C++ (28)
Perl (8)
Delphi (13)
Pascal (22)
Basic / VBA (11)
Java / JavaScript (13)
PHP (9)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (22)
"Железо" (27)
Поиск информации (17)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (16)
Юристу
Гражданское право (7)
Семейное право (2)
Трудовое право (3)
КоАП (2)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное