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

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

Как определить Pcontrol по hwnd


alfromorel ©   (2003-03-19 08:25:00) 

Хочется обрабатывать сообщение Onmessage, но возникает проблема
хочется определить Pcontrol по msg.hwnd .
Зарание благодарен.


Avenger [NhT]   (2003-03-24 13:53:00) [1]

Посчитай символы...ID_SELF есть и в Кол.пас... :)


SPeller   (2003-03-22 07:02:00) [2]

А так короче:

Ctl := PControl( GetWindowLong( hWnd, GWL_USERDATA ) );


Avenger [NhT]   (2003-03-21 12:50:00) [3]

>SPeller
У Меня наглюднее :)


alfromorel   (2003-03-20 17:27:00) [4]

Большое спасибо. GetProp работает.


SPeller   (2003-03-20 17:20:00) [5]

А можно при создании окна через SetWindowLong( GWL_USERDATA ... ) занести указатель на объект.


Avenger [NhT]   (2003-03-20 13:12:00) [6]

Сорри немного ошибся: GetProp

const
ID_SELF: array[ 0..5 ] of Char = ( "S","E","L","F","_",#0 );
var
Control: pControl;
begin
Control := Pointer(GetProp(hwnd, ID_SELF));

вот и все!


alfromorel   (2003-03-19 13:44:00) [7]

В kol.pas не GetAtom. Более того я вообще нигде не могу найти такую функцию.


Avenger [NhT]   (2003-03-19 13:06:00) [8]

чтото типа

var
ctrl: pControl;
begin
ctrl := pControl(GetAtom(Handle, App_ID));

App_ID - это уникальный идентификатор, посмотри в Кол.пас
поищи строку GetAtom


Наверх

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