Форум: "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