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

Вниз

процедура WindowProc   Найти похожие ветки 

 
Endi ©   (2003-07-19 23:29) [0]

Уважаемые мастера!!!
У меня такой вопрос: как вообще работает процедура WindowProc, причем мне, например, не понятно - как вызвать API-поцедур?
У меня есть форма на ней панель, на панели поле ввода.
Если применяю эту функцию для поля ввода, то задний фон становится, как у формы, если к панели, то у панели свойство Caption меняется с Panel1 на Form1. Почему она так действует?


 
Rouse_ ©   (2003-07-19 23:59) [1]

Что значит применяешь?
Покажи код

Желаю успехов


 
Endi ©   (2003-07-20 00:22) [2]

procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Edit1.Handle, GWL_EXSTYLE, GetWindowLong(Edit1.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
EditProc:=edit1.WindowProc;
edit1.WindowProc:=WMCtlColorEdit;
Edit1.Brush.Style := bsClear
end;

procedure TForm1.Edit1Change(Sender: TObject);
var
R: TRect;
begin
R := Edit1.BoundsRect;
InvalidateRect(Handle, @R, true);
end;

procedure TForm1.WMCtlColorEdit(var Message : TMessage);
var
CTEditMsg:TWMCTLCOLOREDIT;
begin
CTEditMsg:=TWMCTLCOLOREDIT(message);
if CTEditMsg.ChildWnd=edit1.Handle then
SetBkMode(CTEditMsg.ChildDC, TRANSPARENT);
else EditProc(message);
inherited;
end;

если стоит edit1.WindowProc:=WMCtlColorEdit, то фон у Edit"а тако же как у формы, если panel1 то Caption будет Form1


 
Del ©   (2003-07-20 02:58) [3]

Процедура WinodwProc работает так как ты ее запрограммируешь, вобщем как и любая другая процедура или функция. :)



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
8-10314
sndanil
2003-04-14 14:43
2003.08.04
Hint на графике


14-10445
Vorobyev Sergey
2003-07-17 09:38
2003.08.04
Кто-нибудь встречал конверторы hlp файлов в chm?


1-10170
Smok_er
2003-07-22 23:18
2003.08.04
Вызов Close в обработчике OnActivate


1-10176
AndreyAs
2003-07-17 15:51
2003.08.04
Rave Reports по-русски


14-10361
Кен
2003-07-13 05:45
2003.08.04
Как начинающему въезжать в базы данных ?