![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить иконку в заголовок окна? [D7, Win95/98]
Гость2 © (2005-05-30 11:36:00)Как добавить иконку в заголовок окна?
DVM (2005-06-01 10:10:00) [1]
> а на самом окне (в заголовке) - нет. Как сделать, чтоб иконка
> появилась и в заголовке окна тоже?
А что при создании окна на WinApi иконку трудно было в параметрах класса окна указать?
wc.hIcon := LoadIcon(0, IDI_APPLICATION);
rOOse (2005-05-31 18:19:00) [2]procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Icon: HICON;
begin
DC:= GetWindowDC(form1.Handle);
DrawIcon(DC, 5,5, image1.Picture.Icon.Handle);
ReleaseDC(form1.Handle, DC);
end;
GrayFace (2005-05-31 17:48:00) [3]Navigator (30.05.05 20:00) [23]
Ну дакForm1.Icon.Handle:=LoadIcon(HInstance,'MAINICON');
Но ведь у всех форм по умолчанию ставится иконка приложения.
Navigator (2005-05-30 20:00:00) [4]У меня, например такой же вопрос - на кнопке в панели задач есть иконка, а на самом окне (в заголовке) - нет. Как сделать, чтоб иконка появилась и в заголовке окна тоже?
Navigator (2005-05-30 19:59:00) [5]>Anatoly Podgoretsky © (30.05.05 19:54) [21]
а то как оказалось нужен заголовок для кнопки в панели задач
Дык не заголовок нужен, а иконка
Anatoly Podgoretsky (2005-05-30 19:54:00) [6]Navigator (30.05.05 18:51) [19]
Если ты внимательно читал, то должен быть понятб, что у него нет заголовка окна!
Если у тебя есть такое окно с заголовком, то задай свой вопрос с точной формулировкой, а то как оказалось нужен заголовок для кнопки в панели задач.
Чапаев (2005-05-30 19:44:00) [7]> StyleEx - unknown :(
Ну значит ExStyle... Как будто я всё могу запомнить и как будто вы ничего не можете своими руками сделать.
Navigator (2005-05-30 18:51:00) [8]то я так и не понял, как добавить иконку в ЗАГОЛОВОК ОКНА.
Потрепались, а на сабж никто не дал ответа
Игорь Шевченко (2005-05-30 15:46:00) [9]Гость2 (30.05.05 14:32) [10]
> Это первое, что приходит в голову, однако с BorderSyle:=
> bsNone, это не срабатывает:(
Срабатывает. На панели задач показывается иконка окна Application.Handle, а не формы с bsNone
Anatoly Podgoretsky (2005-05-30 15:11:00) [10]Navigator (30.05.05 14:44) [14]
Ну так добавь знак вопроса в предложение.
DVM (2005-05-30 15:05:00) [11]
> Ну то как это сделать?
HICON LoadIcon
(
HINSTANCE hInstance, // указатель на приложение
LPCTSTR lpIconName // идентификатор
);
Если функция завершится неудачно, то вернется значение NULL. Эта функция вернет указатель на икону в том случае, если ее параметры совпадают с параметрами установленными в SM_CXICON и SM_CYICON, которые можно получить функцией GetSystemMetric. Если Вы хотите икону другого типа, то используйте LoadImage().
Navigator (2005-05-30 15:01:00) [12]
> Загрузить ее из ресурсов (LoadFromStream)
Ну то как это сделать?
Navigator (2005-05-30 14:44:00) [13]
> Anatoly Podgoretsky © (30.05.05 14:37) [11]
> панель задач это заголовок окна
Позвольте с Вами не согласиться. Заголовок окна - это синенькая (стандартн.) полоска в самом верху текущего окна, справа на которой помещены кнопки "Свернуть", "Восстановит", "Закрыть".
Гость2 (2005-05-30 14:43:00) [14]Признаюсь, собственно, ничего не понял:(
Подскажите мои необходимые действия.
>Чапаев © (30.05.05 14:16) [7]
StyleEx- unknown :(
DVM (2005-05-30 14:39:00) [15]
> однако с BorderSyle:= bsNone, это не срабатывает:(
Когда таскбар рисует кнопу - она обязательно присылает окну WM_GETICON - на него надо реагировать.
Anatoly Podgoretsky (2005-05-30 14:37:00) [16]Чапаев © (30.05.05 13:57) [5]
Основная и запасная.
Гость2 (30.05.05 14:12) [6]
панель задач это заголовок окна
Гость2 (2005-05-30 14:32:00) [17]Игорь Шевченко © (30.05.05 14:25) [8]
> а хотелось бы, чтобы на панели задач отображалась определенная
> иконка
Project Options|Application|Icon|Load Icon
Это первое, что приходит в голову, однако сBorderSyle:= bsNone, это не срабатывает:(
Navigator (2005-05-30 14:30:00) [18]
> Загрузить ее из ресурсов (LoadFromStream)
А как это делается?
Игорь Шевченко (2005-05-30 14:25:00) [19]
> а хотелось бы, чтобы на панели задач отображалась определенная
> иконка
Project Options|Application|Icon|Load Icon
Чапаев (2005-05-30 14:16:00) [20]>а хотелось бы, чтобы на панели задач отображалась определенная иконка
Тю. Ну так с этого следовало начинать.
procedure TForm1.CreateParams(var Params:TCreateParams);
begin
inherited;
Params.StyleEx:=Params.StyleEx or WS_EX_APPWINDOW;
end;
Form1.Icon.Handle:=LoadIcon(...);