Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Текст на панельки [D7]


Rem ©   (2004-09-21 09:06:00) 

Здравствуйте все!!! Подскажите плз, как мне можно изменить текст на панели в другом приложении? Пробовал посылать сообщение WM_SETTEXT, но он меняет только Caption панели, а мне надо на самой панели. Есть другой вариант - сабклассить панель и в событии перерисовки закрашивать ее, а после этого наносить свой текст на контекст устройства, но это муторно, можно ли как-нть попроще?


Fay   (2004-09-21 16:01:00) [1]

www.masm.ru


Rem   (2004-09-21 15:57:00) [2]

А ссылочку можно?


Digitman   (2004-09-21 15:54:00) [3]


> Rem   (21.09.04 15:43) [8]


это далеко не пара-тройка строчек кода

абстрагируйся на время от своей задачи и сосредоточься на изучении формата PE-файлов ... цель - полное понимание назначения и использования системным загрузчиком таблиц импорта и экспорта


Rem   (2004-09-21 15:43:00) [4]

а как перехватывать все вызова MessageBox'а?

> подставлять в вызов ориг.ф-ции свои параметры

т.е. в функцию
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType);
подставить свой заголовок? Если можно какой-нть примерчик, не очень понятно


Digitman   (2004-09-21 14:22:00) [5]


> Rem   (21.09.04 13:57) [6]


внедрить в АП "чужого" процесса свой код, который будет перехватывать все вызовы messageBox() и подставлять в вызов ориг.ф-ции свои параметры


Rem   (2004-09-21 13:57:00) [6]

Вот такой вопрос в дангонку еще, как можно изменить заголовок MessageBox'а, другого приложения?


Коля   (2004-09-21 12:01:00) [7]

В WinApi (Windows.pas) есть ф-ция
 SetWindowText(Окно, Название);
Окно можно взять, например, активное или по названию класса итд


Rem   (2004-09-21 10:44:00) [8]


> RustiK  

Я пытаюсь изменить текст на панели в другом приложении, как я могу это сделать через Application.Title?


Rem   (2004-09-21 10:43:00) [9]

нет, допустим когда мы в дельфях выставляем компонент TPanel, то на нем появляется текст, но это Caption. Вот в другом приложении подобная штука, но spy++ мне показал, что поле Text равно ''. Тогда это наверно получается на контексте устройства. Ну я решил вообщем проблему, путем обработки WM_PAINT, и закрашиваю тока ненужный участок текста, все работает!!!


Zorge   (2004-09-21 10:35:00) [10]

А что значит - текст на панели? Если это не Caption, то что это? Label, надпись на Canvas и т.д.?? Если идет прямая работа с DC, то ничего другого, кроме перехвата WM_PAINT IHMO не поможет. Хотя, можно попробовать еще в памяти приложения искать выводящиеся данные и их заменять, но это уже из области фантастики.


RustiK   (2004-09-21 10:29:00) [11]

Попробуй и спльзовать что-то вроде Application.Title может и прокатит


Наверх

Титульная страница Поиск, карта сайта Написать письмо