Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.008 c
1-96164
k2
2003-09-16 10:21
2003.09.29
Приведение типов


14-96349
Сатир
2003-09-09 17:55
2003.09.29
Помогите найти файлик


14-96450
Layner
2003-09-10 10:02
2003.09.29
Посоветуйте хостинг. Возможно спец., для программиста. 1$-2$/мес


1-96277
promelectronika
2003-09-10 15:02
2003.09.29
Как переписать код на Си в делфи? заранее благодарен


1-96212
Dimedrol
2003-09-18 12:22
2003.09.29
Как посмотреть PDF ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский