shinoob 0 Denunciar post Postado Março 19, 2006 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?!?! Compartilhar este post Link para o post Compartilhar em outros sites
shinoob 0 Denunciar post Postado Março 20, 2006 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 Compartilhar este post Link para o post Compartilhar em outros sites