|
-
Apr 5th, 2009, 02:31 AM
#1
Thread Starter
Hyperactive Member
changing shape in label
label are rectangular in shape.. and i need a label that is slanting from the sides.. currently i am using a shape which has a label inside.. i only can get a round shape,oval ,rectangular or square... how would i cut the shape of label such that is is slanting from the sides..
Code:
-----------------
' this is the \
' shape i want \
'-------------------
Last edited by pannam; Apr 5th, 2009 at 02:34 AM.
-
Apr 5th, 2009, 03:00 AM
#2
Re: changing shape in label
pananam, insted of a lable, you should talke a look at SetWorldTransform() api & TextOut() Api
a c++ example http://www.codeproject.com/KB/cpp/oblique_txt.aspx
Last edited by Fazi; Apr 5th, 2009 at 03:46 AM.
-
Apr 5th, 2009, 03:40 AM
#3
Re: changing shape in label
How about this... You can then place your text in that shape 
vb Code:
Private Declare Function CreatePolygonRgn Lib "gdi32" _ (lpPoint As Any, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long Private Declare Function Polygon Lib "gdi32" _ (ByVal hdc As Long, lpPoint As Any, ByVal nCount As Long) As Long Private Declare Function FillRgn Lib "gdi32" _ (ByVal hdc As Long, ByVal hRgn As Long, ByVal hBrush As Long) As Long Private Declare Function GetStockObject Lib "gdi32" (ByVal nIndex As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Const ALTERNATE = 1 '~~> Constants for FillMode. Const WINDING = 2 '~~> Constant for brush type. Const BLACKBRUSH = 4 Private Type COORD x As Long y As Long End Type Private Sub Form_Paint() Dim poly(1 To 4) As COORD, NumCoords As Long, hBrush As Long, hRgn As Long Me.Cls '~~> Number of vertices in polygon. NumCoords = 4 '~~> Set scalemode to pixels to set up points of triangle. Me.ScaleMode = vbPixels '~~> Assign values to points. poly(1).x = 30 poly(1).y = 30 poly(2).x = 30 poly(2).y = 0 poly(3).x = 370 poly(3).y = 0 poly(4).x = 400 poly(4).y = 30 '~~> Polygon function creates unfilled polygon on screen. '~~> Comment FillRgn statement to see results. Polygon Me.hdc, poly(1), NumCoords '~~> Gets stock black brush. hBrush = GetStockObject(BLACKBRUSH) '~~> Creates region to fill with color. hRgn = CreatePolygonRgn(poly(1), NumCoords, ALTERNATE) '~~> If the creation of the region was successful then color. If hRgn Then FillRgn Me.hdc, hRgn, hBrush DeleteObject hRgn End Sub Private Sub Form_Resize() Form_Paint End Sub
Hope this helps...
A good exercise for the Heart is to bend down and help another up...
Please Mark your Thread " Resolved", if the query is solved
MyGear:
★ CPU ★ Ryzen 5 5800X
★ GPU ★ NVIDIA GeForce RTX 3080 TI Founder Edition
★ RAM ★ G. Skill Trident Z RGB 32GB 3600MHz
★ MB ★ ASUS TUF GAMING X570 (WI-FI) ATX Gaming
★ Storage ★ SSD SB-ROCKET-1TB + SEAGATE 2TB Barracuda IHD
★ Cooling ★ NOCTUA NH-D15 CHROMAX BLACK 140mm + 10 of Noctua NF-F12 PWM
★ PSU ★ ANTEC HCG-1000-EXTREME 1000 Watt 80 Plus Gold Fully Modular PSU
★ Case ★ LIAN LI PC-O11 DYNAMIC XL ROG (BLACK) (G99.O11DXL-X)
★ Monitor ★ LG Ultragear 27" 240Hz Gaming Monitor
★ Keyboard ★ TVS Electronics Gold Keyboard
★ Mouse ★ Logitech G502 Hero
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|