讓視窗所有Button的四角變成圓弧 |
|
jimmy_and_you
初階會員 發表:20 回覆:74 積分:33 註冊:2003-05-12 發送簡訊給我 |
自從XP以來,視窗的角都採圓弧形,最近在寫程式的時候突然靈機一動,用WIN API32的SetWindowRgn函式來把物件都做圓弧角的處裡,以下是我的範例程式,若有不對的地方請各位大大多多指教,小弟我比較會FIRMWARE,對視窗程式還是新手
< class="code">
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TWinControl *TheFirst=NULL,*TheFind;
TheFirst = FindControl(Handle);
TheFirst = FindNextControl(TheFirst, true, false, false);
TheFind = TheFirst;
while(1)
{
if( ((AnsiString)TheFind->ClassName())=="TButton" )
{
HRGN mytest = ::CreateRoundRectRgn(0, 0, TheFind->Width 1, TheFind->Height 1, 15, 15 );
::SetWindowRgn( TheFind->Handle, mytest, true);
}
if( (TheFind=FindNextControl(TheFind, true, false, false))==TheFirst )
break; }
}
這個範例程式只把所有TButton做成圓弧角,若把第一個if拿掉則可對所有物件做處裡
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |