![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кто-нибудь знает что мне выдает функция 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