searcher

Forum Replies Created

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • searcher
    Participant

    QUOTE (Support @ Jun 9 2009, 12:27 PM)
    Можно использовать событие OnPaint, которое есть у кнопки. Демка.

    большое спасибо! как всегда на высоте <img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” /> я тож пробовал отрисововать в событии OnPaint но только не через BMP

    in reply to: sFrameBar и удаление итемов #39034
    searcher
    Participant

    спасибо, пашет. но все же так и не понял почему компонент себя так ведет

    in reply to: sFrameBar и удаление итемов #38976
    searcher
    Participant

    c downto тот же эффект <img src="style_emoticons//sad.gif” style=”vertical-align:middle” emoid=”:(” border=”0″ alt=”sad.gif” />

    QUOTE (stalker18 @ May 4 2009, 07:17 PM)
    Если честно, у вас код некорректен. Очень распространенная ошибка.
    И “итем=компонент?” тут совершенно не при чем.
    Пользуйтесь таким кодом:

    CODE
    while Items.Count > 0 do
      Items.Delete(0);

    такой код конечно будет без ошибок НО мне нужно пройтись по всем итемам проверь св-во и только нужный удалить

    in reply to: sFrameBar и удаление итемов #38971
    searcher
    Participant

    QUOTE (Torbins @ May 4 2009, 12:48 PM)
    Бросьте на форму любых несколько контролов, и попробуйте выполнить такой код:
    <img src="style_emoticons//wink.gif” style=”vertical-align:middle” emoid=”;)” border=”0″ alt=”wink.gif” />

    ну тут понятно экзепшен будет, т.е. итемы=компонент? тогда нужно проходиться по списку down to?

    in reply to: SpeedButton и иконки. Срочно! #38581
    searcher
    Participant

    QUOTE (Torbins @ Apr 8 2009, 04:05 PM)
    В последних версиях делфи весь этот код можно заменить таким:

    CODE
    procedure ConvertIcon2Bitmap(Icon: TIcon; var Bitmap: TBitmap);
    var
      IconInfo: TIconInfo;
    begin
      GetIconInfo(Icon.Handle, IconInfo);
      Bitmap.Handle := IconInfo.hbmColor;
      Bitmap.MaskHandle := IconInfo.hbmMask;
    end;


    Как говорится, почувствуйте разницу.

    разницу почувствовал, гороаздо лучше стало, но вот все равно есть икажения <img src="style_emoticons//wacko.gif” style=”vertical-align:middle” emoid=”:wacko:” border=”0″ alt=”wacko.gif” /> пока что делаю так, гружу в AlphaIMageList от туда забираю в bitmap и уже дальше его юзаю

    in reply to: SpeedButton и иконки. Срочно! #38579
    searcher
    Participant
    CODE
    procedure ConvertIcon2Bitmap(Icon : TIcon;
    TransColor : TColor;
    var Bitmap : TBitmap);
    { Convert the supplied icon into a proper bitmap for Delphi button
    glyphs and return in Bitmap. Use TransColor for the transparent
    color in the Bitmap. See the demo program for examples on usage. }
    var
    i,j : integer; { loop control variables }
    IconInfo : TIconInfo; { information about the icon }
    ANDmask : TBitmap; { the AND mask of the icon }
    OldMaskColor : TColor; { keep track of last color in AND mask }
    NewMaskColor : TColor; { the current color in the AND mask }
    begin { convertIcon2Bitmap }
    { create bitmap for the icon AND mask information }
    ANDmask := TBitmap.Create;
    try
    { Get the icon information and place the AND mask into
    the appropriate TBitmap structure }
    GetIconInfo(Icon.Handle,IconInfo);
    ANDmask.Handle := IconInfo.hbmMask;
    { Set the returning bitmap size and draw the icon onto it }
    Bitmap.Width := ANDmask.Width;
    Bitmap.Height := ANDmask.Height + 1; { add one line onto the bottom
    of the bitmap to keep the
    Delphi glyph happy }
    Bitmap.Canvas.Draw(0,0,Icon);

    { Where the ANDmask bitmap is transparent, place the transparent color }
    Bitmap.Canvas.Pen.Color := TransColor;
    for j := 0 to ANDmask.Height – 1 do
    begin { for j }
    OldMaskColor := clRed; { start off with a color that is not in the mask }
    Bitmap.Canvas.MoveTo(0,j); { move the the first pixel of this row }
    for i := 0 to ANDmask.Width – 1 do
    begin { for i }
    NewMaskColor := GetPixel(ANDmask.Canvas.Handle,i,j); { get pixel color }
    if NewMaskColor OldMaskColor then
    begin { NewMaskColor OldMaskColor }
    { if the pixel is not the same color as the last pixel then we
    have a trasition — either from transparent or to transparent
    colors }
    OldMaskColor := NewMaskColor;
    if NewMaskColor = clWhite then
    { transition from solid to transparent — move to the first
    pixel of the transparent region }
    Bitmap.Canvas.MoveTo(i,j)
    else
    { transition from transparent to solid — draw a line through
    the transparent region in the transparent color }
    Bitmap.Canvas.LineTo(i,j);
    end; { NewMaskColor OldMaskColor }
    end; { for i }
    { if the line ends with a transparent color then draw a line through
    the transparent region in the transparent color }
    if NewMaskColor = clWhite then
    Bitmap.Canvas.LineTo(ANDmask.Width,j);
    end; { for j }

    { place an extra line at the bottom of the bitmap so that the
    Delphi TSpeedButton transparent color works correctly }
    Bitmap.Canvas.MoveTo(0,Bitmap.Height – 1);
    Bitmap.Canvas.LineTo(Bitmap.Width,Bitmap.Height – 1);
    finally
    { Release the memory for the icon information }
    ANDmask.Free;
    end; { try..finally }
    end; { ConvertIcon2Bitmap }

    самый нормальный вариант кода…но и он так себе

    in reply to: SpeedButton и иконки. Срочно! #38567
    searcher
    Participant

    QUOTE (Torbins @ Apr 8 2009, 07:30 AM)
    А почему PNG в ресурсы не запихнуть?

    да просто ресурсы сторонние это…

Viewing 7 posts - 1 through 7 (of 7 total)