Привет
Задачка получилась. Надо сделать круглую форму в линукс, но после гугления выяснилось, что в gtk2 сборке лазарус прозрачность не работает
Form.AlphaBlend:=true;
Form.AlphaBlendValue:=10;
работает только в qt сборках.
Вопрос такой есть ли еще какието способы сделать прозрачную или круглую форму вне зависимости от gtk2 или qt ,
Можно ли напрямую из лазаруса работать с gtk2 на худой конец ? По слухам так можно сделать форму с нужными свойствами.
Это нужно , чтоб в на рабочем висел круглый png рисунок с прозрачным фоном и реагировал на мышь как обычная форма
Lazarus 0.9.30
Прозрачная форма Lazarus Linux gtk2
Модератор: Модераторы
Ism писал(а):Можно ли напрямую из лазаруса работать с gtk2 на худой конец
Можно, посмотрите примеры в исходниках fpc
(fpc\2.4.4\source\packages\gtk2\examples\)
Кстати , а в msegui прозрачность или круглость можно сделать ?
Теоретически можно делать снимок рабочего стола под формой и смешивать соответственно картинку и рабочий стол
как здесь http://aix.ucoz.ru/publ/12-1-0-154
но тут проблема, это можно делать по таймеру или по событию, но только как перехватывать события рабочего стола в Linux Lazarus ?
как здесь http://aix.ucoz.ru/publ/12-1-0-154
Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
var
Canvas:TCanvas;
ScreenDC:HDC;
begin
ScreenDC := GetDC(0);
Canvas:=TCanvas.Create();
Canvas.Handle:=ScreenDC;
Image1.Canvas.Copyrect(Rect(0,0,Image1.Width,Image1.Height),
Canvas, Rect(0,0,Screen.Width,Screen.Height));
ReleaseDC(0,ScreenDC);
Canvas.Free;
end;но тут проблема, это можно делать по таймеру или по событию, но только как перехватывать события рабочего стола в Linux Lazarus ?
