Текущий архив: 2014.08.31;
Скачать: CL | DM;
Вниз
ImageList у TaskBar Найти похожие ветки
← →
Soloton © (2009-09-21 08:44) [0]Здравствуйте!
Задал при помощи MCK пустой ImageList для ToolBar. Программно из ресурсов подгружаю изображения. Если изображение в ресурсах нашлось, сую его в ImageList. На кнопках остаются надписи. Как от них избавится, если изображение есть в ресурсе и оставить, если его нет?
← →
Soloton © (2009-09-21 09:17) [1]Пробовал так:
if (SendMessage(Toolbar1.Handle, TB_GETIMAGELIST, 0, 0) <> INVALID_HANDLE_VALUE) then
if (Toolbar1.ImageListNormal.Count > 0) then begin
for i := 0 to ToolBar1.TBButtonCount-1 do begin
if (ToolBar1.TBButtonImage[i] >= 0) and (Toolbar1.ImageListNormal.Count > ToolBar1.TBButtonImage[i]) then begin
ToolBar1.TBButtonText[i] := "";
end;
end;
end;
Но почему-тоToolbar1.ImageListNormal = nil
Хотя первое условие соблюдается и у ToolBar1 задан именно ImageListNormal
← →
D[u]fa (2009-09-21 14:29) [2]Сейчас могу сказать только то что Toolbar1.ImageListNormal. не соотв. SendMessage(Toolbar1.Handle, TB_GETIMAGELIST, 0, 0)
сам на это напоролся давно.. Установил ImageList для тулбара через мск? в редакторе форм?
Можно попробовать после этого в коде обращаться не к Toolbar1.ImageListNormal.Count а к листу напрямую, либо Toolbar1.ImageListNormal присвоить
← →
Soloton © (2009-09-21 15:38) [3]ImageList заполняю через MCK, в редакторе форм.
Правильно ли я понял, что MCK не создаёт код типаToolbar1.ImageListNormal := ImageList1;
?
Если да, то почему ещё никто не исправил, SVN же есть?
← →
D[u]fa (2009-09-22 09:05) [4]МСК создает код типа SendMessage(..., TB_SETIMAGELIST, .., ...)
← →
Soloton © (2009-09-23 09:46) [5]Попробовал разобраться сам.
В файле mckCtrl.pas поменял кодif ImageListNormal <> nil then
begin
SL.Add( Prefix + " " + AName + ".Perform( TB_SETIMAGELIST, 0, Result." +
ImageListNormal.Name + ".Handle );" );
end;
if ImageListDisabled <> nil then
begin
SL.Add( Prefix + " " + AName + ".Perform( TB_SETDISABLEDIMAGELIST, 0, Result." +
ImageListDisabled.Name + ".Handle );" );
end;
if ImageListHot <> nil then
begin
SL.Add( Prefix + " " + AName + ".Perform( TB_SETHOTIMAGELIST, 0, Result." +
ImageListHot.Name + ".Handle );" );
end;
наif ImageListNormal <> nil then
begin
SL.Add( Prefix + " " + AName + ".Perform( TB_SETIMAGELIST, 0, Result." +
ImageListNormal.Name + ".Handle );" );
SL.Add( Prefix + " " + AName + ".ImageListNormal := Result." +
ImageListNormal.Name + ";" );
end;
if ImageListDisabled <> nil then
begin
SL.Add( Prefix + " " + AName + ".Perform( TB_SETDISABLEDIMAGELIST, 0, Result." +
ImageListDisabled.Name + ".Handle );" );
SL.Add( Prefix + " " + AName + ".ImageListDisabled := Result." +
ImageListDisabled.Name + ";" );
end;
if ImageListHot <> nil then
begin
SL.Add( Prefix + " " + AName + ".Perform( TB_SETHOTIMAGELIST, 0, Result." +
ImageListHot.Name + ".Handle );" );
SL.Add( Prefix + " " + AName + ".ImageListHot := Result." +
ImageListHot.Name + ";" );
end;
Заработало, как и ожидалось, т.е. к Toolbar1.ImageList* теперь можно обращаться непосредственно. Верный ли код? Если да, то может включить его в офиц. исходники.
Offtipic: А как на SVN корректно загрузить? Есть баглист, если да, то где его найти? Кто вообще следит за SVN?
Прошу простить, если задал неправильный вопрос, я в OpenSoruce не силён
← →
D[u]fa (2009-09-23 11:52) [6]О багах лучше писать сюда. После проверки добавлю на свн
Страницы: 1 вся ветка
Текущий архив: 2014.08.31;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.006 c