2014年12月23日 星期二

[BCB][SpeedButton]動態設定方法



[轉貼]SpeedButton 如何切換多張 Glyphs
當您執行程式後,SpeedButton 顯示各張圖的時機如下:


第一張圖 (UP 狀態):正常狀態時顯示這張圖。

第二張圖 (DISABLED 狀態):當 SpeedButton 的 Enabled 屬性被設為 false 時顯示這張圖。

第三張圖 (CLICKED 狀態):在 SpeedButton 上按下滑鼠左鍵時會顯示這張圖,但是在放開左鍵後即會恢復為顯示第一張圖 (如果 GroupIndex 屬性式設定不為 0,則會顯示為第四張圖)。

第四張圖 (DOWN 狀態):如果 SpeedButton 的 GroupIndex 屬性設成不為 0 的數字,那麼在 SpeedButton 上方按下滑鼠左鍵,或是 SpeedButton 的 Down 屬性被設為 true 時,就會顯示這張圖,如果有多個 SpeedButton,且 GroupIndex 均設成不為 0 的相同數字 (同一組 Group 之意),那麼最後被點選的 SpeedButton,或是 Down 屬性被設為 true 的 SpeedButton 會顯示這張圖,其它的 SpeedButton 會恢復成顯示第一張圖。



[code]



SpeedButton[j] = new TSpeedButton(from1->Label16->Parent);
SpeedButton[j]->Parent=from1->Label16->Parent;
SpeedButton[j]->Left  = 30+(70*Column);
SpeedButton[j]->Top   = 23*Row + 2*(8+Row);
SpeedButton[j]->Width = 45;
SpeedButton[j]->Height= 23;
SpeedButton[j]->Caption=j;
SpeedButton[j]->Glyph->Assign(img->Picture->Bitmap);
SpeedButton[j]->GroupIndex=j+1;            //控制群組 會不會一個下去其他起來
SpeedButton[j]->NumGlyphs=4;
SpeedButton[j]->Enabled=true;
SpeedButton[j]->AllowAllUp=true;
SpeedButton[j]->Layout=blGlyphRight;
SpeedButton[j]->Visible=true;

switch(StrToInt(edt[i]->Text))
        {
   case 0:
        SpeedButton[j]->Down=true;
                        
   break;
   case 1:
        SpeedButton[j]->Down=false;
                
   break;

        }


沒有留言:

張貼留言