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

Вниз

Как определить Pcontrol по hwnd   Найти похожие ветки 

 
alfromorel   (2003-03-19 08:25) [0]

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


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

чтото типа

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

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


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

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


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

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

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

вот и все!


 
SPeller ©   (2003-03-20 17:20) [4]

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


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

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


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

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


 
SPeller ©   (2003-03-22 07:02) [7]

А так короче:

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


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

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



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.007 c
4-11723
A_BOS_A
2003-10-09 04:54
2003.12.04
Если текст в к.-н. окне можно выделить, то....


6-11659
Cosmic
2003-10-08 18:55
2003.12.04
Хотелось бы примерчик HTTP-сервера...


4-11746
wartar
2003-10-06 17:40
2003.12.04
Свой десктоп


14-11699
alex134
2003-11-12 23:18
2003.12.04
Microsoft Project


4-11713
qwerty2
2003-10-09 22:46
2003.12.04
Выполнить процесс от имени другого пользователя