![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите считать текст из Static чужого окна
Звоновский © (2008-01-29 14:06:00)Окно является сообщением. функция GetWindowText ничего не возвращает, а
SendMessage(h,WM_GETTEXTLENGTH,0,Len);
SetLength(BuffStr,Len);
SendMessage(h,WM_GETTEXT,Len+1,Integer(@BuffStr[1]));
Возвращает только имя класса контрола.
Может подскажете какие еще другие способы есть считать текст из Static?
DrPass (2008-01-31 11:27:00) [1]
> Anatoly Podgoretsky © (31.01.08 09:10) [10]
> Надо поработать любимым инструментом и все пройдет.
Стаканом, что ли?
ketmar (2008-01-31 11:21:00) [2]>смутил ты меня…
знал бы ты, как я сам смущён… просто до состояния офигения. позорная ошибка, учитывая стаж.
Palladin (2008-01-31 10:32:00) [3]
> [14] ketmar © (31.01.08 09:53)
каюсь, после [8] пошел уточнить... :) смутил ты меня...
Virgo_Style (2008-01-31 10:30:00) [4]imho название у StaticText сбивающее с толку. Раз Static, значит неизменный, раз неизменный - то подпись какая-нибудь типа "жать здесь", а если так, то пусть будет картинкой.
А в действительности наоборот...
ketmar (2008-01-31 09:53:00) [5]я понимаю, что наверняка народ уже в генофонде посмотрел, я просто удивляюсь сам себе…
ketmar (2008-01-31 09:52:00) [6]>[12] Anatoly Podgoretsky ©(31.01.08 09:47)
блин, ну всегда был уверен, что TLabel — это окно с классом STATIC. потому у неё и бордюрчиков a-la TStaticText нет. а вот как раз TStaticText — это наследник графконтрола, и оно рисуется без окна, оттуда и красоты. «шьёрт побьери!» (ц)
Anatoly Podgoretsky (2008-01-31 09:47:00) [7]> ketmar (31.01.2008 09:25:11) [11]
Ну тогда помогу.
TButton - окно
TSpeedButton - картинка
TStaticText - окно
TLabel - картинка
ketmar (2008-01-31 09:25:00) [8]>[9] Anatoly Podgoretsky ©(31.01.08 09:10)
«доверяй, но проверяй!» (ц)
>[10] Anatoly Podgoretsky ©(31.01.08 09:10)
ну не пишу я на Delphi уж больше года, забыл… не знал, не знал, как оказывается, и опа! — забыл.
Anatoly Podgoretsky (2008-01-31 09:10:00) [9]> ketmar (31.01.2008 08:52:08) [8]
Надо поработать любимым инструментом и все пройдет.
Anatoly Podgoretsky (2008-01-31 09:10:00) [10]> ketmar (31.01.2008 05:51:06) [6]
Верить людям надо.
ketmar (2008-01-31 08:52:00) [11]>[7] Palladin ©(31.01.08 07:08)
во блин. тогда каюсь, был неправ. йопт, щаз пойду в локалке Delphi искать. ну не мог же я так крупно лажануться? это что, товарищи, вот так начинается маразм?
Palladin (2008-01-31 07:08:00) [12]
> [6] ketmar © (31.01.08 05:51)
Семеныч и ага правду говорят :)
ketmar (2008-01-31 05:51:00) [13]>[5] ага (31.01.08 05:10)
точно уверен? я вот в обратном уверен. однако же доказать не могу в силу неналичия установленой Delphi. пусть утречком выскажется кто-то с исходниками генофонда под рукой.
ага (2008-01-31 05:10:00) [14]>>>я всегда считал, что TLabel — это окно. а TStaticText — нет.
Ага. Тока наоборот.
ketmar (2008-01-31 03:26:00) [15]>[3] Семеныч (31.01.08 03:16)
я всегда считал, что TLabel — это окно. а TStaticText — нет.
Семеныч (2008-01-31 03:16:00) [16]Есть. Это окно.
ketmar (2008-01-31 02:08:00) [17]а с чего вообще автор решил, что у static есть hwnd?
Compiler (2008-01-31 01:54:00) [18]> GetWindowText ничего не возвращает
У меня работает
function GetEditText(hwin:HWND):Pchar ;
var
l:integer; p:pchar;
begin
L:=SendMessage(hwin,WM_GETTEXTLENGTH,0,0)+1;
GetMem( p, l );
GetWindowText(hwin, p, l );
result:=p;
FreeMem( p, l );
end;