Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Вниз

Загрузка иконки из ресурсов   Найти похожие ветки 

 
Zergling   (2003-09-24 06:29) [0]

День добрый уважаемые! Решил заняться WinAPI и у меня такя проблема: Загружаю иконку из ресурсов, но она не отображается в заголовке окна (стандартная иконка EXE файла), но эта иконка отображается в скомпелированном EXE файле! Почему же она не видна в заголовке окна?

И второй вопрсик, Какой вриант более оптимальный (так для интереса):
if Boolean(GetAsyncKeyState(VK_F1) shr 16) then
или
if (GetAsyncKeyState(VK_F1) shr 16) > 0 then

А это по поводу иконки:
Смотрел эту ветку, но ответ там не нашел http://delphimaster.net/view/4-1059119847/

// Подключение файла ресурсов
{$R Proba.res}

Const
// Целочисленные индификаторы ресурсов
IDR_MENU1 = 101;
IDR_MENU2 = 102;
IDR_ICONWND_1 = 103;
IDR_CURSORWND_1 = 104;

var
WC: WNDCLASSEX; // Класс окна
WC_HWND: HWND = 0; // Дескриптор окна
WC_MSG: TMsg; // Сообщение окна
WC_HDC: HDC = 0; // Контекст графического устройства окна

// Заполнение свойств класса окна
with WC do
begin
cbSize := SizeOf(WNDCLASSEX); // Размер структуры
style := CS_HREDRAW or CS_VREDRAW or CS_OWNDC or CS_DBLCLKS; // Стили окна
lpfnWndProc := @WndProc; // Процедура для обработки сообщений
cbClsExtra := 0; // Дополнительные параметры
cbWndExtra := 0; // Дополнительные параметры
hInstance := hInstance; // Дескриптор приложения
hIcon := LoadIcon(hInstance, MAKEINTRESOURCE(IDR_ICONWND_1)); // Иконка окна
hCursor := LoadCursor(hInstance, MAKEINTRESOURCE(IDR_CURSORWND_1)); // Курсор окна
hbrBackground := HBRUSH(GetStockObject(BLACK_BRUSH)); // Фоновый цвет кисти окна
lpszMenuName := MAKEINTRESOURCE(IDR_MENU1); // Меню окна
lpszClassName := "WC_1"; // Имя класса окна
hIconSm := LoadIcon(0, IDI_APPLICATION); // Иконка окна (на панели задач)
end;
// Регистрация класса окна
RegisterClassEx(WC);
// Создание окна
WC_HWND := CreateWindowEx
(0, // Дополнительные стили окна
"WC_1", // Имя класса по образу которого создается окно
"Тестовая форточкка", // Заголовок окна
WS_OVERLAPPEDWINDOW, // Стиль окна
50, // Позиция по Х (Left)
50, // Позиция по Y (Top)
300, // Ширина окна (Width)
150, // Высота окна (Height)
0, // Дескриптор родительского окна (если оно есть)
0, // Дескриптор меню окна
HInstance, // Дескриптор экземляра приложения
nil); // Указатель на параметры создания окна
// Если окно не созданно, то выходим
if WC_HWND = 0 then Halt(1);
// Определение контекстного устройства окна
WC_HDC := GetWindowDC(WC_HWND);
// Если оно не определено, то выходим
if WC_HDC = 0 then Halt(1);
// Вывод окна на экран
ShowWindow(WC_HWND, SW_SHOWDEFAULT);


 
Zergling   (2003-09-24 11:05) [1]

Мыслей нема?


 
Zergling   (2003-09-25 09:08) [2]

Неужели все так плохо? У меня хоть в коде ошибок нет?


 
clickmaker   (2003-09-25 12:31) [3]

hIconSm := LoadImage(hInstance, MAKEINTRESOURCE(IDI_APPLICATION), IMAGE_ICON, 16, 16, 0);


 
Игорь Шевченко   (2003-09-25 14:17) [4]

Есть мысли. GetLastError вызывать в случае неуспешного выполнения функций.

...Уж сколько раз твердили миру...


 
Zergling   (2003-09-26 06:25) [5]

Игорь Шевченко © (25.09.03 14:17) [4]

GetLastError - возвращает 2, но что это за ощибка в справочной системе не нашел (error Messages & Warnings), не подскажите что за ошибка?


 
крот   (2003-09-26 07:07) [6]

В SysUtils есть функция SysErrorMessage, она возвращает текстовое описание кода ошибки


 
Zergling   (2003-09-26 09:16) [7]

Применил SysErrorMessage и получил сообщение, что указанный файл не найден. Странно, а ведь менюшки из этого файла ресурсов я цепляю. И опятьже по моему первому посту >> иконка отображается в скомпелированном EXE файле. Почему у меня такая гадость получается ? %-((


 
Zergling   (2003-09-27 06:22) [8]

Все еще жду ваших мыслей по поводу этого глюка.


 
andre   (2003-09-27 22:16) [9]

Не знаю в чём трабла, у меня WC.hIcon и WC.hIconSM вместе не живут. Попробуйте убрать hIconSM и всё будет работать (если, конечно, иконка в ресурсах действительно есть). У hIconSM приоритет выше, чем у hIcon (я так думаю), но как это преодолеть-не знаю.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
1-78977
texHelp
2003-11-14 20:43
2003.11.24
Написание PlugIna для PhotoShopa на Delphi


14-79155
vopros
2003-10-31 11:39
2003.11.24
Мужики помогите найти мелодию


14-79158
ИдиотЪ
2003-10-31 11:09
2003.11.24
откуда берутся идиоты?


4-79223
AKA
2003-09-28 16:24
2003.11.24
Mousewheel


14-79168
shved111
2003-10-31 18:48
2003.11.24
нужна прога на Дельфи. срочно. ОПЛАЧУ. (Москва)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский