Jossain joskus näin koodin, joka poistaa taustan framen captionin, eli tekstin, alta. Normaalisti se näyttää tyhmältä, mutta sen avulla siitä tulee sisti.
Vielä havainnekuva:
http://www.roctumclan.com/upload/749frame.PNG
Yritin googlettaa mutta ehkä väärillä hakusanoilla.
Option Explicit Private Enum EDEDBorderStyle BDR_RAISEDOUTER = 1 BDR_SUNKENOUTER = 2 BDR_RAISEDINNER = 4 BDR_SUNKENINNER = 8 BDR_BUTTON = BDR_RAISEDINNER Or BDR_RAISEDOUTER BDR_CONTROL = BDR_SUNKENINNER Or BDR_SUNKENOUTER BDR_THINBUTTON = BDR_RAISEDOUTER BDR_THINCONTROL = BDR_SUNKENOUTER BDR_ETCHRAISE = BDR_RAISEDOUTER Or BDR_SUNKENINNER BDR_ETCHINSET = BDR_SUNKENOUTER Or BDR_RAISEDINNER BDR_ALL = BDR_BUTTON Or BDR_CONTROL End Enum Public Enum EDEDBorderParts BF_LEFT = 1 BF_TOP = 2 BF_RIGHT = 4 BF_BOTTOM = 8 BF_TOPLEFT = BF_LEFT Or BF_TOP BF_BOTTOMRIGHT = BF_RIGHT Or BF_BOTTOM BF_RECT = BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM BF_MIDDLE = &H800 BF_SOFT = &H1000 BF_ADJUST = &H2000 BF_FLAT = &H4000 BF_MONO = &H8000& BF_ALL = BF_RECT Or BF_MIDDLE Or BF_SOFT Or BF_ADJUST Or BF_FLAT Or BF_MONO End Enum Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function DrawEdge Lib "user32" ( _ ByVal hDC As Long, qRC As RECT, _ ByVal Edge As Long, ByVal grfFlags As Long) As Long Private Sub Picture1_Paint() Dim udtRECT As RECT udtRECT.Bottom = ScaleY(Picture1.ScaleHeight, Picture1.ScaleMode, vbPixels) udtRECT.Right = ScaleX(Picture1.ScaleWidth, Picture1.ScaleMode, vbPixels) DrawEdge Picture1.hDC, udtRECT, BDR_ETCHINSET, BF_RECT End Sub
Tuo ei ole ihan se mitä hain.
Tarkoitus olisi siis ihan framena pitää, mutta säätää sen ulkonäön "oikeaksi".
Mutta tuokin kelpaa jos ei parempaa löydy.
EDIT:
No niin, löysin sen sivun missä näin vinkin. (Oli suosikeissa joku muu vinkki sieltä)
http://www.vb-helper.com/howto_set_frame_backcolor.html
Simppeli idea mutta toimiva.
Aihe on jo aika vanha, joten et voi enää vastata siihen.