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

TBitBtn文字對齊問題

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


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-01 13:49:40 IP:220.130.xxx.xxx 未訂閱
各位大大: 如何才能使TBitBtn內的文字向左對齊,預設都置中,要從那裡才能改?
markov
中階會員


發表:55
回覆:135
積分:53
註冊:2003-12-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-01 16:47:46 IP:211.21.xxx.xxx 未訂閱
//取得Button1的原有型態資料
DWORD dwStyle = ::GetWindowLong(Button1->Handle, GWL_STYLE);
//由按鈕屬性來切換按鈕標題左上右下邊切齊狀態
if(右下邊標題)
{
        dwStyle &= ~BS_LEFT & ~BS_TOP;
          dwStyle |= BS_RIGHT | BS_BOTTOM;
}
else if(左上邊標題)
{
         dwStyle &= ~BS_RIGHT & ~BS_BOTTOM;
         dwStyle |= BS_LEFT | BS_TOP;    //將修改的型態資料,重設Button1型態
::SetWindowLong(Button1->Handle, GWL_STYLE, dwStyle);
Button1->Refresh();//重繪Button1
依此類推
m8815010
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-02 13:35:50 IP:61.63.xxx.xxx 未訂閱
引言:
//取得Button1的原有型態資料
DWORD dwStyle = ::GetWindowLong(Button1->Handle, GWL_STYLE);
//由按鈕屬性來切換按鈕標題左上右下邊切齊狀態
if(右下邊標題)
{
        dwStyle &= ~BS_LEFT & ~BS_TOP;
          dwStyle |= BS_RIGHT | BS_BOTTOM;
}
else if(左上邊標題)
{
         dwStyle &= ~BS_RIGHT & ~BS_BOTTOM;
         dwStyle |= BS_LEFT | BS_TOP;    //將修改的型態資料,重設Button1型態
::SetWindowLong(Button1->Handle, GWL_STYLE, dwStyle);
Button1->Refresh();//重繪Button1
依此類推
TBitBtn元件好像不適用,是嗎?? 感覺是特殊元件被包了比較多的處理,所以有些比較 >! 另外研究了一下,目前似乎只會自已劃了, class="code"> void __fastcall TForm1::BitBtnWndProc(TMessage& Message) { OldButtonWndProc(Message); if (Message.Msg==WM_PAINT) { HDC dc=GetDC(BitBtn1->Handle); SetBkColor(dc,RGB(195,195,195)); RECT rect; rect.left=2; rect.right=BitBtn1->Width-2; rect.top=2; rect.bottom=BitBtn1->Height-2; DrawText(dc,"BitBtn1",7,&rect,DT_RIGHT); ReleaseDC(BitBtn1->Handle,dc); } } All!不曉得有沒有不妥處??
markov
中階會員


發表:55
回覆:135
積分:53
註冊:2003-12-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-02 14:13:14 IP:211.21.xxx.xxx 未訂閱
sorry, 小弟一時不察,誤以為TButton與TBitBtn都是以為同樣的解決方法, 沒錯m8815010他是對的 我所提供的方法只能適用於TButton
m8815010
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-02 14:36:04 IP:61.63.xxx.xxx 未訂閱
引言: sorry, 小弟一時不察,誤以為TButton與TBitBtn都是以為同樣的解決方法, 沒錯m8815010他是對的 我所提供的方法只能適用於TButton
markov兄有想到比較好的改法嗎< >? 因為我的改法也滿笨的,想看看其它大大有沒有較佳的解法< >!
markov
中階會員


發表:55
回覆:135
積分:53
註冊:2003-12-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-06 23:19:25 IP:220.138.xxx.xxx 未訂閱
好像也只能這樣
系統時間:2024-04-29 1:14:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!