Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как добавить иконку в заголовок окна? [D7, Win95/98]


Страницы:   1 2

Гость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(...);


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо