Стандартные иконки mtWarning, mtError, mtInformation, mtConf
Модератор: Модераторы
Стандартные иконки mtWarning, mtError, mtInformation, mtConf
Мне нужно получить данные иконки.
В делфи я получаю их так
Image.Icon.Handle := LoadIcon(0, IconID), где IConID берется из этого списка (IDI_EXCLAMATION, IDI_HAND, IDI_ASTERISK, IDI_QUESTION, nil)
Как получить их в лазарусе?
В делфи я получаю их так
Image.Icon.Handle := LoadIcon(0, IconID), где IConID берется из этого списка (IDI_EXCLAMATION, IDI_HAND, IDI_ASTERISK, IDI_QUESTION, nil)
Как получить их в лазарусе?
Вы это для винды спрашиваете или кроссплатформенно?
Des писал(а):Как получить их в лазарусе?
Код: Выделить всё
Uses LCLType, Themes;
...
ThemeServices.GetStockImage(idDialogWarning, ...);
...
kazalex писал(а):Des писал(а):Как получить их в лазарусе?Код: Выделить всё
Uses LCLType, Themes;
...
ThemeServices.GetStockImage(idDialogWarning, ...);
...
что то не работает.
BH:HBitmap;
BMH:HBitmap;
ThemeServices.GetStockImage(idDialogWarning, BH,BMH); выдает false как будто ничего не нашел.
Можно полный код вплоть до того момента когда у меня в Tbitmap или Ticon записываются картинки?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Des, скорее всего, вы пытаетесь работать как с виндовс...а вы программируете под линукс (подозреваю, кроссплатформено.) Имена констант (или только префиксы) вряд ли совпадают.
Добавлено спустя 14 минут 54 секунды:
Re: Стандартные иконки mtWarning, mtError, mtInformation, mtConf
вот странно.. ищем описание... function TThemeServices.GetStockImage(StockID: LongInt; out Image, Mask: HBitmap): Boolean;
Переходим к телу процедуры...
и становится понятно, что функция сильно похожа на заглушку.
Добавлено спустя 14 минут 54 секунды:
Re: Стандартные иконки mtWarning, mtError, mtInformation, mtConf
вот странно.. ищем описание... function TThemeServices.GetStockImage(StockID: LongInt; out Image, Mask: HBitmap): Boolean;
Переходим к телу процедуры...
Код: Выделить всё
function TThemeServices.GetStockImage(StockID: LongInt; out Image, Mask: HBitmap): Boolean;
begin
Result := False;
end; и становится понятно, что функция сильно похожа на заглушку.
Des писал(а):Можно полный код вплоть до того момента когда у меня в Tbitmap или Ticon записываются картинки?
Код: Выделить всё
Uses
LCLType, Themes;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
bitmap : TBitmap;
i, m : HBitmap;
begin
If ThemeServices.GetStockImage(idDialogWarning, i, m) Then
Begin
bitmap := TBitmap.Create;
bitmap.Handle := i;
If m <> 0 Then
bitmap.MaskHandle := m;
image1.Picture.Bitmap := bitmap;
End;
end;Лекс Айрин писал(а):и становится понятно, что функция сильно похожа на заглушку.
Нужно смотреть класс конкретного виджетсета (на вызов бряк, потом трейс), а не базовый.
>>и становится понятно, что функция сильно похожа на заглушку.
Если поискать еще или в отладчике посмотреть куда уходит вызов
прояснится что заглушка какраз не используется, используется нормальная реализация. но не факт что она полная и кроссплатформенная. в Themes к сожалению очень много недоделанного
Если поискать еще или в отладчике посмотреть куда уходит вызов
Код: Выделить всё
ThemeServices.GetStockImage(0,Image, Mask);прояснится что заглушка какраз не используется, используется нормальная реализация. но не факт что она полная и кроссплатформенная. в Themes к сожалению очень много недоделанного
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kazalex,zub, понятно. Впрочем, вряд ли я воспользуюсь данным методом -- замороченно как-то.
А какой способ используется чисто под виндой?
А какой способ используется чисто под виндой?
Все получилось! спасибо kazalex
Лекс Айрин писал(а):А какой способ используется чисто под виндой?
Этот же.
