Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Вопрос.   Найти похожие ветки 

 
Страждущий   (2007-03-31 23:15) [0]

Доброй ночи.
Тема такая на чужой форме есть два edit
класс и название известно
на пример
user:Tedit
pass:Tedit
в эдитах пусто
Функция
EditWnd := FindWindowExA(Wnd, 0,"Tedit","user");
неходит
как Быть ?


 
DrPass ©   (2007-04-01 00:05) [1]


> FindWindowExA(Wnd, 0,"Tedit","user");

Посмотреть на "чужую форму" с помощью WinSight. Вполне вероятно (точнее, на 100% наверняка), что у них и класс не TEdit называется, и заголовок не user :)


 
Страждущий   (2007-04-01 00:14) [2]

100 %
TEdit
100 %
user.

почему так уверен это бывшая моя прога.
исходники утеряны.


 
RASkov   (2007-04-01 01:27) [3]

> [2] Страждущий   (01.04.07 00:14)

Значит перемудрил с Wnd и(или) со второым параметром который у тебя - 0....


 
DrPass ©   (2007-04-01 11:41) [4]


> Страждущий   (01.04.07 00:14) [2]

Ну и что, что твоя бывшая? Ты в ней переписывал компоненты TEdit, чтобы они имели класс окна "Tedit"?
Оконный класс и заголовок окна в Windows - вещи, не имеющие никакого отношения к классу компонента и свойству Name. Только в случае формы она дает своему оконному классу имя своего класса.
Так что см.
> DrPass ©   (01.04.07 00:05) [1]


 
Leonid Troyanovsky ©   (2007-04-01 12:44) [5]


> DrPass ©   (01.04.07 11:41) [4]

> Только в случае формы она дает своему оконному классу имя
> своего класса.

Любому винконтролу, удивись.

--
Regards, LVT.


 
DrPass ©   (2007-04-01 13:41) [6]


> Leonid Troyanovsky ©   (01.04.07 12:44) [5]

Вряд ли ты меня удивишь такой фигней, но таки да, я ошибся - для TEdit и стандартных компонент VCL класс действительно такой же. Насчет "любому винконтролу" - не факт, т.к. CreateParams метод виртуальный, и "любому или нелюбому" остается на усмотрение разработчика контрола.
Впрочем, все равно стоит принять во внимание

> DrPass ©   (01.04.07 00:05) [1]

Кроме имени класса у окна еще и заголовок есть.


 
Leonid Troyanovsky ©   (2007-04-01 13:48) [7]


> DrPass ©   (01.04.07 13:41) [6]

> метод виртуальный, и "любому или нелюбому" остается на усмотрение
> разработчика контрола.

Она и он - некоторая разница ж есть, IMHO.

> Кроме имени класса у окна еще и заголовок есть.

Тебя удивить тем, что есть "заголовок" окна EDIT?

--
Regards, LVT.


 
begin...end ©   (2007-04-01 14:03) [8]

Заголовок (название) окна TEdit есть его текст на момент создания контрола (вызова CreateParams).


 
begin...end ©   (2007-04-01 14:08) [9]

> DrPass ©   (01.04.07 11:41) [4]

> Ты в ней переписывал компоненты TEdit, чтобы они имели класс
> окна "Tedit"?

FindWindow(Ex) ищет регистронезависимо.


 
DrPass ©   (2007-04-01 14:12) [10]


> begin...end ©   (01.04.07 14:03) [8]

Вот именно. А не свойство Name, как это, похоже, считает автор темы.


> Leonid Troyanovsky ©   (01.04.07 13:48) [7]

Да не переживай за меня так. Я знаком с Win32 API... и вполне вероятно, что не хуже тебя ;-)


 
DrPass ©   (2007-04-01 14:15) [11]


> begin...end ©   (01.04.07 14:08) [9]

Это понятно. Я просто считал, что Delphi для стандартных контролов не заморачиваясь использует стандартные классы EDIT, BUTTON и т.д. Я уже посмотрел, что она их копирует и создает новый класс, так что сорри.


 
RASkov   (2007-04-01 14:19) [12]

Всегда думал, что заголовок Edita это его текст, но вот ведь какая еще есть фигня

> Заголовок (название) окна TEdit есть его текст на момент создания контрола (вызова CreateParams).

Caption:=Format("FindWin - %d, Hnd - %d",[FindWindowExA(Handle, 0, "Tedit", PChar(Edit1.Text)), Edit1.Handle]);


 
RASkov   (2007-04-01 14:28) [13]

Т.е. получается, что фик идентифицируешь TEdit"ы FindWindowExA"ом не зная, что у них было в Текст при создании....


 
DrPass ©   (2007-04-01 15:07) [14]


> RASkov   (01.04.07 14:28) [13]

Можно идентифицировать, зная порядок их создания. Для того у ней и есть второй параметр


 
Leonid Troyanovsky ©   (2007-04-01 15:47) [15]


> RASkov   (01.04.07 14:19) [12]
> Всегда думал, что заголовок Edita это его текст, но вот
> ведь какая еще есть фигня

Ни разу не использовал EDIT with title bar :) (т.е., не знаю),
но к FindWindowEx оно отношение имеет минимальное.
Однако, использование последнего для поиска текста
в чужих контролах - проблематично.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2007-04-01 15:54) [16]


> DrPass ©   (01.04.07 14:12) [10]

> вероятно, что не хуже тебя ;-)

Ну, и славно. А то я уж начал переживать.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.067 c
2-1175283096
dzhagr
2007-03-30 23:31
2007.04.22
Проблема с доступом к базе данных


1-1172750179
S@shka
2007-03-01 14:56
2007.04.22
Диспетчер задач / Память процесса


2-1175055373
npu3pak
2007-03-28 08:16
2007.04.22
Как добавить новые строки в базу на accesse?


1-1172013471
VeLeS
2007-02-21 02:17
2007.04.22
Как поменять иконку в исполняемом файле?


15-1175114591
ProgRAMmer Dimonych
2007-03-29 00:43
2007.04.22
Посоветуйте, как перевести...