4 / 4 / 0
Регистрация: 13.07.2009
Сообщений: 83
1

Иконка проекта

25.08.2009, 10:57. Показов 7468. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу WinIP-приложение в VisualStudio2008. Подскажите
1) как в проект добавить иконку, которая будет потом иконкой exe-файла,
2) причем чтобы при запуске она была в верхнем левом углу окна (стандартная иконка приложения).
У меня самого не получается именно второе!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2009, 10:57
Ответы с готовыми решениями:

Иконка в трее
Здравствуйте я начинаю писать на C++ в моей программе нет окна но должна быть иконка в трее.Не...

не горит иконка инсалятора
visual c++ 2005 как поставить на win7 для биошок2 HELP!

иконка на панели задач
Как изменить иконку на панели задач? Использую Visual Studio 2010, приложение на базе MFC...

Иконка для exe-файла
как програмно или настройками задать значек для екзешки полученной в результате компиляции проэкта?...

15
Автор FAQ
3148 / 368 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
25.08.2009, 11:04 2
Попробуй посмотреть в свойства формы , может там есть свойство, которое задает иконку в верхнем левом углу окна
0
4 / 4 / 0
Регистрация: 13.07.2009
Сообщений: 83
25.08.2009, 11:17  [ТС] 3
У меня WinIP - доступа через проперти-менеджер поэтому отсутствует. Не пойдет.
0
Автор FAQ
3148 / 368 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
25.08.2009, 11:21 4
Цитата Сообщение от yava Посмотреть сообщение
У меня WinIP - доступа через проперти-менеджер поэтому отсутствует. Не пойдет.
Может WinApi ?
0
3408 / 1595 / 236
Регистрация: 26.02.2009
Сообщений: 7,837
Записей в блоге: 5
25.08.2009, 11:39 5
Сама иконка должна состоять из двух пиктограмм, например, 32х32 - иконка экзешника и 16х16 - будет в левом верхнем углу приложения.
0
Автор FAQ
3148 / 368 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
25.08.2009, 12:02 6
Если WinApi то посмотри сюда http://wiki.shelek.ru/index.ph... D1.84.D1.8
И сюда
how to change icons in a window in win32 api (c++)?

i google'd, but my google-fu isn't very good it seems.

a short sample code or something would help greatly.

thanks!
--------
If you want to set the icon initially you use the hIcon and hIconSm members of the WNDCLASS or WNDCLASSEX structures. If you want to change it later, you can send the WM_SETICON message.
--------
in window registration phase (WinMain function), this line does it

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
-----
alright i'll look into sending WM_SETICON message...i wish to change it midway while window is displayed.

thanks!

0
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
26.08.2009, 14:24 7
Если проджект создан визардом то в ресурсах есть 2 иконки 16*16 и 32*32 - редактируй их.
0
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
26.08.2009, 17:57 8
Не смотрел, что там по ссылкам. Я икноку добавляю так: Создаешь в проекте файл ресурсов и в нем создаешь иконку. В консольном приложении первая иконка и будет иконкой приложения, если в АПи, то при регистрации класса выбираешь нужную из стандартных или из того файла ресурсов.
0
3408 / 1595 / 236
Регистрация: 26.02.2009
Сообщений: 7,837
Записей в блоге: 5
27.08.2009, 12:13 9
Цитата Сообщение от TGrey[WoLf
;250478]если в АПи, то при регистрации класса выбираешь нужную из стандартных или из того файла ресурсов.
C++
1
2
3
4
5
6
7
8
9
    WNDCLASSEX wc;
    
    ZeroMemory( &wc, sizeof( wc ) );
    
    wc.cbSize = sizeof( wc );
    ...
    wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );// иконка приложения
    wc.hIconSm = LoadIcon( NULL, IDI_QUESTION );// иконка в левом верхнем углу окна, важно размер иконки должен быть 16х16
    ...
Попробуйте так через WinAPI если ещё актуальлно.
2
3 / 3 / 1
Регистрация: 30.04.2011
Сообщений: 51
10.06.2011, 08:04 10
Проект Win32 (не консольный), создал файл ресурсов v1.ico. Что надо поменять при описании окна чтобы именно моя иконка там была?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
WNDCLASS wc;
 
     wc.style         = CS_HREDRAW | CS_VREDRAW;
     wc.lpfnWndProc   = WndProc;
     wc.cbClsExtra    = 0;
     wc.cbWndExtra    = 0;
     wc.hInstance     = instanceHandle;
     wc.hIcon         = LoadIcon(0, IDI_APPLICATION);
     wc.hCursor       = LoadCursor(0, IDC_ARROW);
     wc.hbrBackground =
          static_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
     wc.lpszMenuName  = 0;
     wc.lpszClassName = L"Hello";
Добавлено через 3 часа 26 минут
Вопрос снимаю, он оказался сложнее чем я думал. Сначала надо почитать, понять WinAPI.
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
10.06.2011, 16:17 11
Специально для тебя предлагаю радикальное решение. Просто замени иконку в папке ресурсов на свою.)
0
3 / 3 / 1
Регистрация: 30.04.2011
Сообщений: 51
10.06.2011, 22:57 12
________________________________________________________________________________ _______
1.Создал иконку: Проект-Добавить новый элимент- *.ico (можно импортировать)
Если кому интересно, решил эту проблему так:
2. объявил идентификатор который содержит имя иконки
C++
1
wchar_t iconName[]=L"IDI_ICON1";
3. При описании окна, класса WNCLASS изменил строку:
C++
1
wc.hIcon         = LoadIcon(instanceHandle, iconName);
4.Создал файл ресурса *.rc :Проект-Добавить новый элимент- *.rc
(связал файл ресурса с иконкой ткнув на него правой кнопкой мыши-свойство итд, НО!!!)
(После этого поменялся только значек экзешника. Поэтому...... )
5. Открыл файл *.rc в блакноте, все удалил, и дописал две строчки:
#include "windows.h"

IDI_ICON1 ICON "icon1.ico"

Есть подозрение что можно было удалять не все, но уже нет желания там копаться
И вуаля, все получилось. Надеюсь каму нибудь поможет.

________________________________________________________________________________ _______________________

Цитата Сообщение от Deviaphan Посмотреть сообщение
Специально для тебя предлагаю радикальное решение. Просто замени иконку в папке ресурсов на свою.)
Просто заменить не получалось. Создавал НЕ пустой проект win 32, изрисовывал иконку которая там была. Эфекта 0
0
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
11.06.2011, 00:02 13
Цитата Сообщение от vlad_ltd Посмотреть сообщение
Просто заменить не получалось
Ну как же, сделай Rebuild All.
0
3 / 3 / 1
Регистрация: 30.04.2011
Сообщений: 51
11.06.2011, 03:40 14
Делал, и ничего не поменялось.
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
11.06.2011, 06:18 15
Цитата Сообщение от vlad_ltd Посмотреть сообщение
Делал, и ничего не поменялось
Изрисовывал 16х16 иконку? Ничего не поменяться не могло, просто не совсем то изрисовывал.)
Я раньше именно подменой файла заменял, т.к. встроенный редактор иконок очень УГ, а мне нужна была 32-битная иконка. Последние студии уже с такими умеют работать, в них и без бубна можно проделать всё.
0
asics
11.06.2011, 18:47     Иконка проекта
  #16

Не по теме:

Кстате говоря, есть хорошая софтина по изготовлению и редактированию иконок - IconWorkshop.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2011, 18:47

Не загружается иконка системного меню
При создании MFC SDI-приложения без архитектуры документ/вид иконка системного меню имеет вид...

Иконка криво отображается на рабочем столе
Написал простенькую программу в visual c++ 2008. Собрал проект, при этом поменял иконки на самой...

Visual Studio 2008 - иконка к приложению
Стоит Visual Studio 2008 Team System Как иконку к приложению прицепить? делал проект через...

Иконка для exe-файла Visual Studio 2010
Добрый день,никак не получатся прикрепить иконку для exe-файла в Microsoft Visual Studio 2010...

Вызов exe одного проекта exe другого проекта
Есть проект, нажимая на вкладку меню, должен запускаться exe другого проекта. Как сделать? Помогите...

как сделать так,чтобы иконка в проекте прикреплялась к программе?
#include&lt;windows.h&gt; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); char szProgName=&quot;Имя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru