Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Прозрачность

Автор: WishMaster 31.01.2007 15:19

Помогите исправить ошибку


void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if(GetCapture == 0)
{
SetCapture(Form1->Handle);
};
if (PtInRect(Rect(Form1->Left,Form1->Top,
Form1->Left + Form1->Width,
Form1->Top + Form1->Height),
ClientToScreen(Point(X, Y))))
{
Form1->AlphaBlendValue = 185;
}
else
{
Form1->AlphaBlendValue = 100;
};

}

эта функцмя должна при наведении курсора на окно делать его более ярким , при отведении окно должно стать опять полупрозрачным.Ярким окно становится, а прозрачным нет.

Автор: volvo 31.01.2007 16:16

Цитата
Ярким окно становится, а прозрачным нет.
Ибо не должно... Когда мышь уходит с окна, OnMouseMove для этого окна уже НЕ обрабатывается. Следи по таймеру, когда мышь не находится над окном, или лови сообщение CM_MOUSELEAVE...