Форум: "WinAPI";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
ВнизВопрос по EnumChildWindows Найти похожие ветки
← →
Elen © (2006-10-17 14:47) [0]Господа!
У меня на форме есть несколько едитов. Я хочу найти их хендлы. Применяя EnumChildWindows в каллбэке получаю числа но они почему-то не равны хендлам эдитов (хотя количество этих чисел такое же как и количество элементов на форме).
Вот мой код :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
ListBox1: TListBox;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function func(h:Thandle;l:LPARAM):boolean;
var
Form1: TForm1;
implementation
{$R *.dfm}
//********** FUNCTION **********
function func;
var p:pchar;
begin
{В H возвращаются найденные хендлы}
form1.ListBox1.Items.Append(inttostr(h)+" "+inttostr(l));
result:=true;
end;
//********** END FUNCTION ******
procedure TForm1.Button1Click(Sender: TObject);
begin
caption:=inttostr(Edit1.Handle);
{Этот должен быть в списке но его нет}
EnumChildWindows(form1.handle,@func,0);
end;
end.
Подскажите где я ошибаюсь. (просьба сильно не пинать :) )
← →
BiN © (2006-10-17 14:51) [1]объявление callback функции:
1. Не boolean, а bool
2. stdcall отсутствует
← →
clickmaker © (2006-10-17 14:51) [2]function func(h:Thandle;l:LPARAM):boolean; stdcall;
← →
Сергей М. © (2006-10-17 14:52) [3]
> просьба сильно не пинать
Ну как же тебя не пинать, если "уж сколько раз твердили миру", что колбэк-функция, адрес которой передается в данном (и аналогичных) случае, должна быть stdcall-функцией ....
← →
clickmaker © (2006-10-17 14:59) [4]и кто учит так реализацию функций оформлять? Гадай тут, что такое h и l: то-ли параметры, то-ли свойства, то-ли вообще глобальные... Пока не тыцнешь на find declaration
← →
Elen © (2006-10-17 15:00) [5]Всем Всем Всем!
Спасибо за пинки. Помогло. (Как это можно было такое пропустить!!?? Видать погода давит...)
← →
Ketmar © (2006-10-17 15:04) [6]а что, edit1.Handle больше не рулит???
← →
Elen © (2006-10-17 15:06) [7]
> Ketmar
Не-е. Рулит конечно. просто это как бы в целях обучения. В общем у меня есть экзешничек и на нем несколько едитов. Туда хочу запихивать данные автоматом из другой проги. Уже все получилось. Спаибо.
← →
Ketmar © (2006-10-17 15:08) [8]>[7] Elen(c) 17-Oct-2006, 15:06
ой. дико извиняюсь. что-то не заметил, в какой конференции нахожусь. %-)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c