Конференция "KOL" » Не отрисовывается Bitmap в ToolBar [Delphi, Windows]
 
  • Osmiy (15.07.09 04:51) [0]
    Использую чистый KOL. Создаю ToolBar и Bitmap. В Bitmap загружаю изображение либо из файла, либо из ресурса. Добавлю к ToolBar либо на стадии его создания, либо после добавляю. В любом случае на кнопках изображается черные квадратики, даже если, что-то нарисовать вручную на Bitmap. Размер квадртиков совпадает с высотой загружаемого изображения. Само изображение в Bitmap присутствует, т.к. отображаеться на других контролах.
    KOL 2.88, Turbo Delphi Explorer. В чем может быть дело?
  • Vladimir Kladov © (15.07.09 17:30) [1]
    код секретный?
  • mdw © (15.07.09 18:55) [2]

    > Vladimir Kladov

    +1
  • Osmiy (15.07.09 18:59) [3]
    Код пока еще не секретный. Вот он:

    Program GPRES;

    uses
     KOL;

    const
     MMS:array [0..3] of pchar=(
       'File',
       'Property',
       'View',
       'Help');

     MTS: array [0..5] of pchar=(
       ' ',
       ' ',
       ' ',
       ' ',
       ' ',
       ' ');

     TCS: array [0..2] of pchar=(
       '1',
       '2',
       '3');

    var
     MForm:PControl;
     MMenu:PMenu;
     MTool:PControl;
     MTImage:PBitmap;
     Splitter:PControl;
     Panel:PControl;
     TabCalc:PControl;

    begin
     Applet:=NewApplet('Prog');
     MForm:=NewForm(Applet,'Program');
     MForm.StatusText[3]:='stat';

     MMenu:=NewMenu(MForm,0,MMS,nil);

     MTImage:=NewBitmap(0,0);
     MTImage.LoadFromFile('open.bmp');
     MTool:=NewToolBar(MForm,caTop,[tboTextBottom,tboNoDivider],MTImage.Handle,MTS,[0 ]);
     MTool.Align:=caTop;

     TabCalc:=NewTabControl(MForm,TCS,[tcoMultiline],nil,0);
     TabCalc.Align:=caRight;
     TabCalc.Width:=200;

     Splitter:=NewSplitter(MForm,100,100).SetAlign(caRight);
     Splitter.SecondControl:=TabCalc;
     Splitter.HasBorder:=true;
     Splitter.Flat:=true;

     Panel:=NewPanel(MForm,esRaised);
     Panel.Align:=caClient;

     Run(Applet);
    end.
  • Vladimir Kladov © (15.07.09 21:51) [4]
    MTImage.PixelFormat := pf4bit;



    сразу после загрузки. Выглядеть может некрасиво. Лучше держать в ресурсе, и использовать LoadMappedBitmapEx, как это делается в MCK. Но у вас же "продвинутый" Delphi. Все равно, на вашем месте, скачайте урезанный Delphi7, всего 40 Мб, поставьте MCK, и смотрите что он делает. Иногда помогает.
  • Osmiy (15.07.09 22:11) [5]
    Теперь получилось. Большое спасибо, Владимир Кладов.
 
Конференция "KOL" » Не отрисовывается Bitmap в ToolBar [Delphi, Windows]
Есть новые Нет новых   [134431   +10][b:0][p:0]