przezroczysty edit

0

Czy wie ktoś może jak programowo zrobić przeżroczystego Edita bez żadnych dodatkowych ort!.

Próbowałem

Edit1.Brush.Style:=bsclear;

ale wtedy tło sie robi białe nie przeźroczyste (Na Formie w taki sposób przeźroczystość działa)

Z góry dzięki za pomoc

0

programowo to się raczej nie da, ale zawsze możesz napisać nowy komponent (ja np.znalazłem w necie przezroczyste Memo)

0
Edit1.BorderStyle := bsNone;
Edit1.Color := form1.Color;
0

Bełdzio mając na myśli przeźroczysty myślałem o tym żeby pod Editem był widoczny jakiś obrazek a nie żeby edit był tego samego koloru co forma.

w taki sposób da się zrobić tło dla edita

Edit6.Brush.Bitmap:=Image1.Picture.Bitmap;

ale czy ktoś wie jak można zrobić żeby image na edicie było przeżroczyste i wycentrowane ??

Pomocy!!

0
  1. Pobierz z sieci komponent Memo z przeźroczystaścią
  2. Przeanalizuj kod
  3. Przerób na Edita
0
  1. Pobierz z sieci komponent Memo z przeźroczystaścią
  2. Przeanalizuj kod
  3. Przerób na Edita

Zapomniałeś dopisać pozdrowienia dla Milki

0

:-/ ja właśnie nie chcĘ pisać ani sciągać zadnych komponentów tylko zrobić to programowo. Jak na formie sie da to zrobić to wydaje mi sie że na Edicie też.

0

nie pisz inowych, sciągnij tamten i zobacz jak to jest w jego źródle rozwiązane... nikt nie każe Ci z niego korzystać :P

0

Nie nie znaczy, że nie możesz później napisać. To ułatwi innym, którzy kiedyś oto zapytają.

Ciekawostka:Jeżeli choci o przezroczyste Memo to klasą bazową jest TForm.

0

Ufff, troche się namęczyłem, ale w SPACJA końcu się udało :) Efekt i styl wykonania nie jest może imponujący, ale zawsze to coś. Oto fragment kodu:

var
  Form1: TForm1;
  c: TCanvas;
  s: String;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Brush.Bitmap:=Image1.Picture.Bitmap;
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  case key of
    8: s:=LeftBStr(s,length(s)-1); //tu trzeba obsłużyć pozostałe klawisze, takie jak Enter, Tab, itp. ale mnie sie już tego nie chciało robić. Zrobiłem tylko backspace tak dla testu.
  else
    s:=s+chr(Key);
  end;
  Edit1.Repaint;   // trzeba niestety odmalować 
  c:=TCanvas.Create;
  c.Handle:=GetDC(Edit1.Handle);
  c.Brush.Style:=bsClear;
  c.TextOut(0,0,s);
  c.Free;
end;

Pozdrawiam, mam nadzieje że się przydałem :)

0

Dzięki endrique za kod i za starania [browar]

0

Tu widzi błąd

[...]
 8: S := LeftBStr(S, Length(S) - 1);
[...]

[Error] Unit1.pas(39): Undeclared Indentifier 'LeftBStr'

0

pewnie trzeba dodać junita do uses z tą funkcją... ("StrUtils")

0

EE... nie działa. Znaczy działa tylko nie tak jak powinno.
Kawałek obrazka tam jest, ale pod literami i tak jest białe.
user image

Nie o to chodziło.

0

Znalazłem inny sposób.
Pobrałem komponent TransEdit i TransMemo.
Pod niego wystarczy wstawić obrazek i już.

// zauważyłęś, że ten wątek ma SZEŚĆ lat? - Ł

1 użytkowników online, w tym zalogowanych: 0, gości: 1