Delphi:прозрачна форма-видими компоненти
как мога да направя така че да се вижда само TITLE-то на програмата а формата да е невидима ,НО компонентите в нея да си се виждат.Имам един проект има прозрачен кръг в формата даже то тва не е част от формата щото като го кликна формата става неактивна и все едно сам натиснал друго.
Delphi:прозрачна форма-видими компоненти
Никога не съм правил "прозрачни" форми, но виж долното дали ще ти помогне и ако успееш изпрати ми E-Mail или пиши пак във форума, за да се науча и аз[^]
Код:
[Win32] Как правильно работать с прозрачными окнами (стиль WS_EX_TRANSPARENT)?
A>:
Стиль окна-формы указывается в CreateParams (если не перепутал).
Только вот когда перемещаешь его, фон остается со старым куском экрана.
Чтобы этого не происходило, то когда pисуешь своё окно, запоминай,
что было под ним,а пpи пеpемещении восстанавливай.
HDC hDC = GetDC(GetDesktopWindow()) тебе поможет..
т.е. предполагам че трябва да си направиш клас "наследник" на TForm и в частта при създаването на формата да използваш параметър "WS_EX_TRANSPARENT", но явно ще има проблеми при преместването на формата[:(]
Delphi:прозрачна форма-видими компоненти
Опитах и се получи[^][:)]
Създаваш клас наследник на TForm:
Код:
unit Forms_N;//пример за "невидима" форма
{$S-,R-,D-,L-,W-}
interface
uses Forms, Controls, SysUtils, WinTypes, Classes;
type
TForm_N = class(TForm)
protected
public
procedure CreateParams(var Params: TCreateParams); override;
end;
implementation
procedure TForm_N.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle:=Params.ExStyle or WS_EX_TRANSPARENT;
end;
end.
След това формата която искаш да стане "невидима" трябва да я направиш от клас "TForms_N' вместо от "TForms" и в "Uses" да включиш "TForms_N"
Delphi:прозрачна форма-видими компоненти
Само да добавя, че е по-добре да се използва TCustomForm, вместо TForm.
И CreateParams е protected.
Delphi:прозрачна форма-видими компоненти
дай да започнем от тук:
На кое делфи (5,6,7)?
какво искаш да постигнеш всъщност?