Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Создать неактивные пиктограммы для TSpeedButton и TBitBtn во время выполнения

Delphi , Компоненты и Классы , Кнопки

Создать неактивные пиктограммы для TSpeedButton и TBitBtn во время выполнения

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure AddDisableBMP(SB : array of TObject);
 var
    BM, SBM : TBitmap;
   w, x, y, NewColor, i : integer;
   PixelColor : TColor;
 begin
   BM := TBitmap.Create;
   SBM := TBitmap.Create;
   try
     for i := 0 to High(SB) do
      begin
       if (SB[i] is TSpeedButton) then
         BM.Assign((SB[i] as TSpeedButton).Glyph)
       else if (SB[i] is TBitBtn) then
         BM.Assign((SB[i] as TBitBtn).Glyph)
       else
          Exit;

       if not Assigned(BM) or (BM.Width <> BM.Height) then Exit;

       w := BM.Width;
       SBM.Width := w * 2;
       SBM.Height := w;
       SBM.Canvas.Draw(0, 0, BM);

       for x := 0 to w - 1 do
         for y := 0 to w - 1 do
          begin
           PixelColor := ColorToRGB(BM.Canvas.Pixels[x, y]);
           NewColor := Round((((PixelColor shr 16) + ((PixelColor shr 8) and $00FF) +
             (PixelColor and $0000FF)) div 3)) div 2 + 96;
           BM.Canvas.Pixels[x, y] := RGB(NewColor, NewColor, NewColor);
         end;


       SBM.Canvas.Draw(w, 0, BM);

       if (SB[i] is TSpeedButton) then with (SB[i] as TSpeedButton) do
          begin
           Glyph.Assign(SBM);
           NumGlyphs := 2;
         end
       else
          with (SB[i] as TBitBtn) do
          begin
           Glyph.Assign(SBM);
           NumGlyphs := 2;
         end;
       BM := TBitmap.Create;
       SBM := TBitmap.Create;
     end;
   finally
     BM.Free;
     SBM.Free;
   end;
 end;

Статья Создать неактивные пиктограммы для TSpeedButton и TBitBtn во время выполнения раздела Компоненты и Классы Кнопки может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Кнопки ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 00:47:15/0.007004976272583/0