![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сгенерировать событие OnClick у кнопки чужого окна
delphimun © (2003-06-18 14:41:00)
Допустим есть форма с caption-ом "Window", а на этой форме кнопка c caption-ом "Add", как сгенерировать событие OnClick на кнопке с caption-ом "Add"?
Заранее благодарен.
delphimun (2003-06-18 19:28:00) [1]
mrcat Больщое спасибо, я правда уже сам разобрался без этой непонятной ф-ии:
var
w_handle:integer;
b_handle:integer;
my_string:string;
begin
my_string:="aaa";
w_handle:= FindWindow(nil, "abc");
b_handle:= FindWindowEx(w_handle, 0, nil, "Open");
SendMessage(b_handle, wm_LButtondown, 0, 0);
SendMessage(b_handle, wm_LButtonUp, 0, 0);
end;
mrcat (2003-06-18 19:07:00) [2]
Плохо искал ;)
function RestructElements(aHandle: HWND; aInfo: Pointer): boolean; stdcall;
begin
result := true; // must be TRUE! See F1 :)
end;
hProg := FindWindow(nil, моя_программа);
if hProg <> 0 then
begin
EnumChildWindows(integer(hProg), @RestructElements, 0);
end;
этот код работает.
delphimun (2003-06-18 18:57:00) [3]
Обыскал почти все, а кроме примеров на С++ ничего не нашел, может кто покажет пример или кинет ссылочку
[NIKEL] (2003-06-18 18:06:00) [4]
слушай, не парься... зайди на Королевство Дельфи и почитай статью прям то что тебе надо - ссылки не помню, зайди и посмотри в прошедших новостях
delphimun (2003-06-18 17:18:00) [5]
А как работает EnumChildWindows? Вот, что я сней там настряпал, но ничего не работает:
program Project1;
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
var
a:integer;
hwnd:integer;
function EnumChildProc(HWND:THandle; lParam:LPARAM):boolean;stdcall;
begin
showmessage(inttostr(hwnd)); //я предполагаю, что это и есть //описатель дочернего компанента
Result:=True;
end;
begin
hwnd := findwindow(nil,"Form1");
a := EnumChildWindows(hwnd,@EnumChildProc, 1);{зачем нужен параметр iparam? И вот сдесь у меня ошибка несоответствия типов integer и longbool.}
end.
Вобщем я совсем запутался, не мог бы кто скинуть мне примерчик кода.Я знаю caption дочернего окна, мне нужно получить его описатель
Chieftain (2003-06-18 15:20:00) [6]
Хым, получить хендл нужного окна (EnumWindows), потом получить хендл кнопки(EnumChildWindows), потом послать кнопке сообщение(SendMessage). Короче, без WinAPI - никак.
mrcat (2003-06-18 15:08:00) [7]
[
BM_CLICK]