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

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

Кто-нибудь знает что мне выдает функция EnumProps [D6, Win2k]


AlexandrH ©   (2001-12-06 14:26:00) 

Хочу получить список свойств окна.
Делаю так.

procedure TForm1.Button1Click(Sender: TObject);
begin
EnumProps(Handle,@PROC);
end;

function PROC (WND: hwnd; PSTR: String; HData: hwnd) : boolean; stdcall;
begin
Form1.ListBox1.Items.Add(pstr);
PROC := True;
end;



В листбокс она мне выдает три строки
типа
ControlOfs000...
Delphi00000344
CC32Subclassinfo

Что то на свойства не похоже. Может я делаю что-то не так..
Подскажите если кто знает..
Заранее благодарен.


troits   (2001-12-07 10:52:00) [1]

>AlexandrH
Почитайте API Help. Раздел Window Property Functions.
В кратце, к каждому окну можно добавить некоторое свойство, которое
идентифицируется строкой и handle(любая, какая тебе нравится, информация. Потом это окно можно будет по этим свойствам идентифицировать, и т. д.). См. SetProp. EnumProps позволяет просто перебрать эти свойства. Так что установка этох свойств - личное дело каждого приложения.

К слову, Windows Commander написан на Delphi.



Digitman   (2001-12-07 08:01:00) [2]

>AlexandrH
Ок. А что ты ожижал увидеть среди перечисленных св-в ?


AlexandrH   (2001-12-07 06:28:00) [3]

Хорошо попробуем не Delphi_скую форму
делаю так


procedure TForm1.Button1Click(Sender: TObject);
var
h: HWND;
begin
h := Findwindow("TWINDOWSCMD",nil);
EnumProps(h,@PROC);
end;

function PROC (WND: hwnd; PSTR: PChar; HData: hwnd) : boolean; stdcall;
begin
Form1.Memo1.Lines.Add(pstr);
PROC := True;
end;


Выдает не лучше первого 4 строки

ControlOfs00400000000003C0
Delphi00000114
OleDropTargetInterface
OleDropTargetMarshalHwnd

Что это ни как не пойму.....


Юрий Зотов   (2001-12-06 15:41:00) [4]

> AlexandrH © (06.12.01 14:26)

Похоже, Вы путаете свойства окон Windows и свойства форм Delphi. Это совершенно разные вещи.


Digitman   (2001-12-06 14:55:00) [5]

это - из хэлпа :

BOOL CALLBACK PropEnumProc(

HWND hwnd, // handle to window whose property list is being enumerated
LPCTSTRlpszString, // string component of property
HANDLE hData // data handle component of property
);

function PROC (WND: hwnd; PSTR: PChar; HData: hwnd) : boolean; stdcall;
begin
Form1.ListBox1.Items.Add( string(pstr));
PROC := True;
end;

LPCTSTR - это PChar(PAnsiChar), а не String


Наверх

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