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

Вниз

Вопрос по 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.034 c
3-1164877480
tytus
2006-11-30 12:04
2007.02.25
Как отсортировать данные в OracleDataSet?


3-1165393476
ocean
2006-12-06 11:24
2007.02.25
Подскажите структуру БД


15-1170457040
DillerXX
2007-02-03 01:57
2007.02.25
Подскажите с анимацией.


2-1170752418
Medved_
2007-02-06 12:00
2007.02.25
MDI


15-1170357529
Nic
2007-02-01 22:18
2007.02.25
Поднял старый семейный магнитафон