[問題]用BCB如何自行設定更改標題列的顏色 |
尚未結案
|
plihui
初階會員 ![]() ![]() 發表:88 回覆:96 積分:41 註冊:2003-07-03 發送簡訊給我 |
|
m8815010
版主 ![]() ![]() ![]() ![]() ![]() 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 請問各位大大: 如果想自行更改標題列的顏色 該如何設定呢??plihui你好 In Unit1.cpp ~~ TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { OldFormWndProc=this->WindowProc; this->WindowProc=FormWndProc; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormWndProc(TMessage& Message) { OldFormWndProc(Message); if (Message.Msg==WM_NCPAINT) { HDC dc=GetWindowDC(Handle); RECT rect; rect.left=4; rect.right=200; rect.top=4; rect.bottom=22; TBrush* bsh=new TBrush; bsh->Color=clRed; TPen* pen=new TPen; pen->Color=clRed; SelectObject(dc,bsh->Handle); SelectObject(dc,pen->Handle); Rectangle(dc,4,4,this->Width-4,22); //DrawCaption(Handle,dc,&rect,DC_GRADIENT); //DrawCaption(Handle,dc,&rect,DC_TEXT | DC_GRADIENT); //DrawCaption(Handle,dc,&rect,DC_ICON | DC_GRADIENT); ReleaseDC(Handle,dc); delete bsh; delete pen; } }這是我之前的做法,就是劃一條長條上去,就可以改變顏色了,但caption上面的icon、text、 min_btn、max_btn都被蓋掉了,需要再補回去,這裏的範例並沒有補回去,因為我認為這方向的作法 並不effective and wise,所以略過,視需要補充之! void __fastcall TForm1::Button1Click(TObject *Sender) { int aiElements[1]={COLOR_ACTIVECAPTION}; DWORD aColors[1]={clRed}; SetSysColors(1,aiElements,aColors); } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |