안녕하세요.
RoundRect모양의 에디트박스 컴포넌트를 만들고 있는데요.
RoundRect모양의 에디트 박스 테두리에 선을 그을려고 하거든요..
물론 RoundRect형으로 그려야겠죠..
GetWindowRect( Handle, MyRect );
Dc := GetWindowDc( Handle );
WRgn:= CreateRoundRectRgn( 0, 0, ClientWidth - 5 , ClientHeight - 5 , 10, 10 );
GetWindowRgn( Handle, wRgn );
OffSetRgn( WRgn, -MyRect.Left, -MyRect.Top );
Try
Pen:= CreatePen( PS_Solid, 1, ColorToRgb( ClBlue ) );
Brush:= CreateSolidBrush( ColorToRgb( ClBlue ) );
SelectObject( Dc, Pen );
SelectObject( Dc, Brush );
FrameRgn( Dc, WRgn, Brush, 1, 1 );
Finally
DeleteObject( WRgn );
DeleteObject( Pen );
DeleteObject( Brush );
ReleaseDc( Handle, Dc );
end;
이게 하나의 지가 만든 프로시져인데 Wm_NcPaint 메세지를 가로채서 거기다
가 넣어줬습니다. 그런데 테두리는 전혀 안보이더군요..-.-;;
아마 OffsetRgn함수로 어케 움직여줘야 할 거 같은데..에고 ..--;;
고수님들 가르침 부탁드립니당..