Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Скорая помощь (https://nowa.cc/forumdisplay.php?f=28)
-   -   Вопросы по Win Api :-)) (https://nowa.cc/showthread.php?t=206558)

frostmourne 19.02.2009 19:51

Вопросы по Win Api :-))
 
Какой функцией можно воспользоваться чтобы передать текст из приложения в делфи в окно класса edit. Дескриптор окна известен, нужно сделать так чтобы при нажатии кнопки в делфи текст из edit1 передавался в открытое окно блокнота например

Serhio_61 19.02.2009 20:41

Re: Подскажите на счет Win Api
 
Несколько лет не касался,так что сорри,если где совру...
SetWindowText или более рабочее SendMessage c WM_SETTEXT

frostmourne 19.02.2009 21:03

Re: Подскажите на счет Win Api
 
Цитата:

Сообщение от Serhio_61 (Сообщение 2219864)
Несколько лет не касался,так что сорри,если где совру...
SetWindowText или более рабочее SendMessage c WM_SETTEXT

Не работает. Либо я делаю неправильно подскажите плз как надо?

Serhio_61 19.02.2009 23:32

Re: Подскажите на счет Win Api
 
Не исключено,что окно-приёмник надо обновить...

frostmourne 20.02.2009 14:27

Re: Подскажите на счет Win Api
 
Цитата:

Сообщение от Serhio_61 (Сообщение 2220318)
Не исключено,что окно-приёмник надо обновить...

По подробнее можно?

Serhio_61 20.02.2009 16:39

Re: Подскажите на счет Win Api
 
Цитата:

Сообщение от frostmourne (Сообщение 2221426)
По подробнее можно?

Точно не упомню,что-то вроде UpdateWindow...

Не мешает посмотреть стили окна-приёмника,может ли оно вообще принимать(хранить) строку.
Кстати,как вариант,текст(как изображение) в окне-приёмнике может просто рисоваться на DC,а текст(как последовательность символов) может храниться где-нибудь в буфере.

Vasuha 20.02.2009 17:36

Re: Подскажите на счет Win Api
 
var s:string;
begin
SendMessage(Edit1.Handle, WM_SETTEXT, Length(s) + 1, Integer(s));
end;
Так делаете?

frostmourne 20.02.2009 20:26

Re: Подскажите на счет Win Api
 
Vasuha спасибо все получилось

frostmourne 23.02.2009 12:21

Еще вопрос по Win Api
 
Мне нужно получить текст окна зная его дескриптор. Знаю что можно воспользоваться функцией WM_GETTEXT но как правильно её использовать я не знаю. Подскажите пожалуйста

Serhio_61 23.02.2009 17:55

Re: Еще вопрос по Win Api
 
Да просто:
Пардон за С...

int CharCount=SendMessage(hWnd,WM_GETTEXTLENGTH,0,0);
char Txt[CharCount+1];
SendMessage(hWnd,WM_GETTEXT,(WPARAM)(CharCount+1), (LPARAM)Txt);

в итоге в Txt - текст из окна...

frostmourne 24.02.2009 13:53

Re: Вопросы по Win Api :-))
 
У меня еще такая проблемка: имеются 2 дочерних окна с одинаковыми классами и без названия(окна класса edit) я не могу обратиться ко второму окну подскажите как это сделать?

zss 24.02.2009 16:34

Re: Вопросы по Win Api :-))
 
В Visual Studio дескриптор дочернего окна возвращается фнкцией
HWND hwnd_x=GetDlgItem(hwnd,IDC_X);
IDC_X - это ID, присвоенное Вами окну при его создании.

frostmourne 24.02.2009 16:42

Re: Вопросы по Win Api :-))
 
Цитата:

Сообщение от zss (Сообщение 2229740)
В Visual Studio дескриптор дочернего окна возвращается фнкцией
HWND hwnd_x=GetDlgItem(hwnd,IDC_X);
IDC_X - это ID, присвоенное Вами окну при его создании.

Я не создаю это окно, оно из другого приложения. И еще желательно как это делать в делфи а не С++

Добавлено через 37 минут
И еще вопрос: ws32 показывает дескриптор окна, но когда я его использую то выдается ошибка несоответствия типов. Как преобразовать то что выдает ws32 в HWND?

Vasuha 25.02.2009 10:36

Re: Вопросы по Win Api :-))
 
Цитата:

Сообщение от frostmourne (Сообщение 2229424)
У меня еще такая проблемка: имеются 2 дочерних окна с одинаковыми классами и без названия(окна класса edit) я не могу обратиться ко второму окну подскажите как это сделать?

А как насчет EnumChildWindows..

Serhio_61 25.02.2009 23:57

Re: Вопросы по Win Api :-))
 
Цитата:

Сообщение от Vasuha (Сообщение 2231190)
А как насчет EnumChildWindows..

от родительского окна.


Текущее время: 23:59. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2025 NoWa.cc

Время генерации страницы 0.03085 секунды с 9 запросами