Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ae galera iMasters, to precisandu de um help..
A ideia é criar um componente Edit com a borda +- = ao BorderStyle := bsSilgle;
so q ao invez de preto, eu kero a borda clSilver, ou qq outra cor
bem, pensei q seria so mexer na procedure paint; override e td beleza..
kem disse q tem?!?!
ok, achei a tal da
procedure WMNCPaint(var Message: TMessage); message WM_NCPAINT;
q é da class TWinColtrol ( criadora da TEdit )
mas num da certo, eu tentei usar o TBitMap, fazendu um quadrado com as borda cinza
consegui!!! (ae...)
mas da uns bug
e um fica legal...
talvez seja na hora de criar a bmp
procedure TBmpEdit.CreateBorder;var x: Integer; y: Integer;begin FBorda.Free; FBorda := TBitmap.Create; //FBorda.Transparent := true; //FBorda.TransparentColor := clWhite; FBorda.Height := Height; FBorda.Width := Width; FBorda.Canvas.Brush.Color := clWhite; FBorda.Canvas.Rectangle(0,0,Width, Height); //FBorda.Canvas.Brush.Style := bsSolid; FBorda.Canvas.Pen.Style := psSolid; FBorda.Canvas.Pen.Color := clSilver; //FBorda.Canvas.Pixels[0,0] := clSilver; FBorda.Canvas.MoveTo(0,0); FBorda.Canvas.LineTo(0, Height - 1); FBorda.Canvas.MoveTo(0,0); FBorda.Canvas.LineTo(Width - 1, 0); FBorda.Canvas.MoveTo(Width - 1, Height - 1); FBorda.Canvas.LineTo(Width -1, 0); FBorda.Canvas.MoveTo(Width - 1, Height - 1); FBorda.Canvas.LineTo(0, Height - 1);end;bla bla bla...procedure TBmpEdit.WMPaint(var Message: TWMPaint);begin inherited; CreateBorder;end;
alguem tem alguma sujestao?!?!
problema resolvido, se alguem tiver interesse
var DC: HDC; R: TRect; BtnFaceBrush, WindowBrush, FocusBrush: HBRUSH;begin DC := GetWindowDC(Handle); try GetWindowRect(Handle, R); OffsetRect(R, -R.Left, -R.Top); //BtnFaceBrush := CreateSolidBrush(ColorToRGB(FColorBorder)); BtnFaceBrush := CreateSolidBrush(ColorToRGB(clSilver)); WindowBrush := CreateSolidBrush(ColorToRGB(FColorFace)); FocusBrush := CreateSolidBrush(ColorToRGB(FColorFace)); Color := FColorFace; FrameRect(DC, R, BtnFaceBrush); InflateRect(R, -1, -1); FrameRect(DC, R, FocusBrush); //InflateRect(R, -1, -1); //FrameRect(DC, R, FocusBrush); finally ReleaseDC(Handle, DC); end; DeleteObject(WindowBrush); DeleteObject(BtnFaceBrush); DeleteObject(FocusBrush);
se tiverem alguma duvida ou kiserem me ajudar a terminar ele, posta ae
ou me manda um email shinoob@hotmail.com