Форум: "WinAPI";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
ВнизИконку в заголовок окна как поместить. Найти похожие ветки
← →
McSimm2 (2003-07-25 11:57) [0]Как сабж загрузить ?
У меня иконка только у файла появилась,а в заголовке почему то значок винды. Иконка хранится в ресурсах.
Добавляю через
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 12:14) [1]А где проверка на то, что hIcon не 0 ?
← →
McSimm2 (2003-07-25 13:07) [2]hIcon действительно 0, а почему ??
← →
Игорь Шевченко (2003-07-25 13:28) [3]GetLastError ?
← →
McSimm2 (2003-07-25 13:38) [4]Да вроде программа по ошибке не вылетает, она нормально прокатывает и GetLastError и
hIcon := LoadIcon(hInstance, PChar(ID_MAIN_ICON));
но почему то hIcon из файла не грузит иконку в заголовок окна. Иконка появляется только в файле....
← →
McSimm2 (2003-07-25 13:42) [5]"Указанный тип ресурса в файле ресурса отсутствует"
Мда..... приплыли
← →
Игорь Шевченко (2003-07-25 13:47) [6]Наверное, стоит посмотреть, как объявлена ID_MAIN_ICON и эта...кода побольше привести...
← →
McSimm2 (2003-07-25 14:53) [7]---- 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}
← →
[lamer]Barmaglot (2003-07-25 15:02) [8]Может я и неправ но товарищь энциклопеда говорит следующее:
LoadIcon (hInstance,MakeIntResource ("MAINICON"));
← →
McSimm2 (2003-07-25 15:10) [9]Почему "MAINICON" ?
Если написать
LoadIcon (hInstance,MakeIntResource (PChar(ID_MAIN_ICON)));
то GetLastError пишет то же самое:
указанный тип ресурса в файле образа отсутствует
← →
[lamer]Barmaglot (2003-07-25 15:20) [10]Заранее извиняюсь не профессионал я...
1. Мой пример работает?
2. Почему PChar(ID_Main_Icon)? Либо указать integer - тогда юзать MakeIntResoursr, либо указать строку - попробуй ID_Main_Icon взять в кавычки, без PChar.
← →
Игорь Шевченко (2003-07-25 15:45) [11]
> MakeIntResource ("MAINICON"));
Бред. MakeIntResource пребразует целое число к Pchar
← →
Игорь Шевченко (2003-07-25 15:47) [12]
> brcc32.exe my.rc my.res
>
> {$I Mine.RI}
> {$R Mine.RES}
Так my.res или Mine.res ?
← →
McSimm2 (2003-07-25 15:57) [13]{$I My.RI}
{$R My.RES}
конечно же.
по другому не скомпилировалось бы.
Попутный вопрос как pchar в integer перевести ??
← →
[lamer]Barmaglot (2003-07-25 16:00) [14]Это даже я знаю integer(____);
← →
Игорь Шевченко (2003-07-25 16:14) [15]LoadIcon (hInstance,MakeIntResource (ID_MAIN_ICON));
← →
McSimm2 (2003-07-25 16:16) [16]не, так я уже пробовал ...
← →
Игорь Шевченко (2003-07-25 18:02) [17]Дык, работает
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;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c