線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1148
推到 Plurk!
推到 Facebook!

按下button時,,讓statusbar出現"字"

答題得分者是:m8815010
kenbcb
中階會員


發表:171
回覆:129
積分:60
註冊:2003-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-29 00:50:05 IP:61.229.xxx.xxx 未訂閱
請問各位大大: 按下button時,將panel2填滿顏色,並寫字"hello"置中在那個panel中,,,,請各位大大指導!!! 那要在buttonClick的事件中要如何用, 才能按下button,讓panel變色及寫字,,,不懂的我,望各位大大指導 void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const TRect &Rect) { AnsiString sz; switch(Panel->Index) { case 1: StatusBar1->Canvas->Brush->Color=clRed; StatusBar1->Canvas->Font->Color=clWhite; sz="hello"; break; default: StatusBar1->Canvas->Brush->Color=clBtnFace; StatusBar1->Canvas->Font->Color=clBlack; sz=Panel->Text; } StatusBar1->Canvas->FillRect(Rect); StatusBar1->Canvas->Brush->Style=bsClear; RECT rt={Rect.Left, Rect.Top, Rect.Right, Rect.Bottom}; DrawText(StatusBar1->Canvas->Handle, sz.c_str(), sz.Length(), &rt, DT_CENTER | DT_VCENTER); }
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-29 08:34:41 IP:61.63.xxx.xxx 未訂閱
引言: 請問各位大大: 按下button時,將panel2填滿顏色,並寫字"hello"置中在那個panel中,,,,請各位大大指導!!! 那要在buttonClick的事件中要如何用, 才能按下button,讓panel變色及寫字,,,不懂的我,望各位大大指導 void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const TRect &Rect) { AnsiString sz; switch(Panel->Index) { case 1: StatusBar1->Canvas->Brush->Color=clRed; StatusBar1->Canvas->Font->Color=clWhite; sz="hello"; break; default: StatusBar1->Canvas->Brush->Color=clBtnFace; StatusBar1->Canvas->Font->Color=clBlack; sz=Panel->Text; } StatusBar1->Canvas->FillRect(Rect); StatusBar1->Canvas->Brush->Style=bsClear; RECT rt={Rect.Left, Rect.Top, Rect.Right, Rect.Bottom}; DrawText(StatusBar1->Canvas->Handle, sz.c_str(), sz.Length(), &rt, DT_CENTER | DT_VCENTER); }
kenbcb你好: >! 所以將他的 class="code"> void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar, TStatusPanel *Panel, const TRect &Rect) { AnsiString sz; switch(Panel->Index) { case 1: StatusBar1->Canvas->Brush->Color=clRed; StatusBar1->Canvas->Font->Color=clWhite; sz="hello"; break; default: StatusBar1->Canvas->Brush->Color=clBtnFace; StatusBar1->Canvas->Font->Color=clBlack; sz=Panel->Text; } StatusBar1->Canvas->FillRect(Rect); StatusBar1->Canvas->Brush->Style=bsClear; RECT rt={Rect.Left, Rect.Top, Rect.Right, Rect.Bottom}; DrawText(StatusBar1->Canvas->Handle, sz.c_str(), sz.Length(), &rt, DT_CENTER | DT_VCENTER); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { StatusBar1->Panels->Items[1]->Style=psOwnerDraw; StatusBar1->OnDrawPanel=StatusBar1DrawPanel; StatusBar1->Repaint(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { StatusBar1->Panels->Items[1]->Style=psText; StatusBar1->OnDrawPanel=NULL; StatusBar1->Repaint(); } 圖例: 按下--> 取消--> 發表人 - m8815010 於 2004/03/29 08:42:33
系統時間:2024-05-19 4:50:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!