Модератор: Модераторы
Form1.AlphaBlend := TRUE;
Form1.AlphaBlendValue := Random(255);
Brainenjii писал(а):работает только для win или qt. Для GTK на форуме видел не LCL решение
- Код: Выделить всё
Form1.AlphaBlend := TRUE;
Form1.AlphaBlendValue := Random(255);
Мне нужно дырку в форме сделать=) в том то и дело, что мне для линукса надо.
Интересно, в какой момент и где происходит прорисовка формы?
Alexx2000 писал(а):Вот на этот пример можно посмотреть - lazarus\examples\shapedcontrols, теоретически платформонезависимо.
procedure TWinControl.SetShape(AShape: TBitmap);
begin
if not HandleAllocated then
Exit;
if (AShape <> nil) and (AShape.Width = Width) and (AShape.Height = Height) then
TWSWinControlClass(WidgetSetClass).SetShape(Self, AShape.Handle)
else
if AShape = nil then
TWSWinControlClass(WidgetSetClass).SetShape(Self, 0)
end;
procedure TWinControl.SetShape(AShape: TRegion);
begin
LCLIntf.SetWindowRgn(Handle, AShape.Reference.Handle, True);
end;
Alexx2000 писал(а):Вот на этот пример можно посмотреть - lazarus\examples\shapedcontrols, теоретически платформонезависимо.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 238