![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Иконку в заголовок окна как поместить.
McSimm2 © (2003-07-25 11:57:00)Как сабж загрузить ?
У меня иконка только у файла появилась,а в заголовке почему то значок винды. Иконка хранится в ресурсах.
Добавляю через
procedure WinMain;
Begin
with WindowClass do
begin
...
( hInstance, PChar(ID_MAIN_ICON)
Как сабж загрузить ?
У меня иконка только у файла появилась,а в заголовке почему то значок винды. Иконка хранится в ресурсах.
Добавляю через
procedure WinMain;
Begin
with WindowClass do
begin
...
hIcon := LoadIcon(hInstance, PChar(ID_MAIN_ICON));
...
end;
...
Window := CreateWindow(AppName, "Simple miner",
WS_OVERLAPPED + WS_SYSMENU + WS_MINIMIZEBOX,
0, 0, 1, 1, 0, 0, HInstance, nil);
Игорь Шевченко (2003-07-25 18:02:00) [1]Дык, работает
add.rc
#include "add.rh"
HS_ICON ICON "hs_main.ico"
add.rh
#define HS_ICON 7
main.pas
procedure TForm1.FormCreate(Sender: TObject);
var
Icon : TIcon;
Hnd : HICON;
begin
Hnd := LoadIcon(hInstance, MakeIntResource(7));
if Hnd <> 0 then begin
Icon := TIcon.Create();
Icon.Handle := Hnd;
( Icon)Дык, работает
add.rc
#include "add.rh"
HS_ICON ICON "hs_main.ico"
add.rh
#define HS_ICON 7
main.pas
procedure TForm1.FormCreate(Sender: TObject);
var
Icon : TIcon;
Hnd : HICON;
begin
Hnd := LoadIcon(hInstance, MakeIntResource(7));
if Hnd <> 0 then begin
Icon := TIcon.Create();
Icon.Handle := Hnd;
ImageList1.AddIcon(Icon);
end;
.....
end;
McSimm2 (2003-07-25 16:16:00) [2]
не, так я уже пробовал ...
Игорь Шевченко (2003-07-25 16:14:00) [3]
LoadIcon (hInstance,MakeIntResource (ID_MAIN_ICON));
[lamer]Barmaglot (2003-07-25 16:00:00) [4]
Это даже я знаю integer(____);
McSimm2 (2003-07-25 15:57:00) [5]
{$I My.RI}
{$R My.RES}
конечно же.
по другому не скомпилировалось бы.
Попутный вопрос как pchar в integer перевести ??
Игорь Шевченко (2003-07-25 15:47:00) [6]
> brcc32.exe my.rc my.res
>
> {$I Mine.RI}
> {$R Mine.RES}
Так my.res или Mine.res ?
Игорь Шевченко (2003-07-25 15:45:00) [7]
> MakeIntResource ("MAINICON"));
Бред. MakeIntResource пребразует целое число к Pchar
[lamer]Barmaglot (2003-07-25 15:20:00) [8]
Заранее извиняюсь не профессионал я...
1. Мой пример работает?
2. Почему PChar(ID_Main_Icon)? Либо указать integer - тогда юзать MakeIntResoursr, либо указать строку - попробуй ID_Main_Icon взять в кавычки, без PChar.
McSimm2 (2003-07-25 15:10:00) [9]
Почему "MAINICON" ?
Если написать
LoadIcon (hInstance,MakeIntResource (PChar(ID_MAIN_ICON)));
то GetLastError пишет то же самое:
указанный тип ресурса в файле образа отсутствует
[lamer]Barmaglot (2003-07-25 15:02:00) [10]
Может я и неправ но товарищь энциклопеда говорит следующее:
LoadIcon (hInstance,MakeIntResource ("MAINICON"));
McSimm2 (2003-07-25 14:53:00) [11]
---- my.rc
#include "my.rh"
ID_MAIN_ICON ICON mine.ico
---- my.rh
#define ID_MAIN_ICON 7
---- my.ri
const
ID_MAIN_ICON = 7;
brcc32.exe my.rc my.res
{$I Mine.RI}
{$R Mine.RES}
Игорь Шевченко (2003-07-25 13:47:00) [12]
Наверное, стоит посмотреть, как объявлена ID_MAIN_ICON и эта...кода побольше привести...
McSimm2 (2003-07-25 13:42:00) [13]
"Указанный тип ресурса в файле ресурса отсутствует"
Мда..... приплыли
McSimm2 (2003-07-25 13:38:00) [14]
Да вроде программа по ошибке не вылетает, она нормально прокатывает и GetLastError и
hIcon := LoadIcon(hInstance, PChar(ID_MAIN_ICON));
но почему то hIcon из файла не грузит иконку в заголовок окна. Иконка появляется только в файле....
Игорь Шевченко (2003-07-25 13:28:00) [15]
GetLastError ?
McSimm2 (2003-07-25 13:07:00) [16]
hIcon действительно 0, а почему ??
Игорь Шевченко (2003-07-25 12:14:00) [17]
А где проверка на то, что hIcon не 0 ?