Вниз
Скачать: CL | DM;

Иконку в заголовок окна как поместить.   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.014 c
3-96083
Filat
2003-09-09 20:50
2003.09.29
IBTable.Locate - чем можно заменить?


14-96416
REVERSE
2003-09-07 22:06
2003.09.29
Дельфи - встроенный ассемблер


4-96483
Prov
2003-07-24 10:23
2003.09.29
Файл больше 136 КБ


4-96489
SergeySEM
2003-07-25 12:41
2003.09.29
Событие по созданию окна,процесса


1-96165
First_May
2003-09-16 10:26
2003.09.29
Класс




   Наверх