Re[4]: Resources
От: Trantor Россия  
Дата: 21.10.02 07:34
Оценка: 10 (1)
Здравствуйте Ed.ward, Вы писали:

R>>Поясняю

R>>В Solution Explorer в свойствах файла .ico устанавливаешь свойство BuildAction в Embedded Resource.
R>>Для создания иконки или битмапа используешь следующий псевдокод:
R>>
R>>Icon icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyIcon.ico"));
R>>

R>>, где MyProject — имя namespace твоего проекта.

EW>одна беда — не работает, нулевой Stream возвращает


Работает все, просто оно к регистру символов зависимо, разложи свой exe в ILDASM и посмотри точное название твоего файла в ресурсах...
... << RSDN@Home 1.0 alpha 12 >>
В жизни мало быть умным, надо еще быть не дураком.
Re[6]: Resources
От: retalik www.airbandits.com/
Дата: 21.10.02 07:26
Оценка: 8 (1)
Здравствуйте Ed.ward, Вы писали:

EW>Здравствуйте Аноним, Вы писали:

(это был я)

EW>Естественно, namespace проекта у меня при этом ResTest.

EW>Естественно, в solution explorer присутствует файл app.ico.
EW>Естественно, свойство BuildAction у него равно Embedded Resource.

Знаешь, что странно? Именно с app.ico это и не работает
Вставь новую иконку (как у меня в примере) — все полетит.
Успехов,
Виталий.
Resources
От: Ed.ward Россия  
Дата: 17.10.02 12:22
Оценка:
Господа, подскажите плиз, как в C# добавить в проект ресурсы.
Конкретно хочется добавить в ресурс иконку (так что бы она прикомпилировалась к сборке) и создать экземпляр System.Drawing.Icon в Main.
Я устал искать

Ed.ward
Re: Resources
От: Hacker_Delphi Россия  
Дата: 17.10.02 12:26
Оценка:
Здравствуйте Ed.ward, Вы писали:

EW>Господа, подскажите плиз, как в C# добавить в проект ресурсы.

EW>Конкретно хочется добавить в ресурс иконку (так что бы она прикомпилировалась к сборке) и создать экземпляр System.Drawing.Icon в Main.
EW>Я устал искать

EW>Ed.ward

Точно не скажу, но как мне объясняли — добавляешь файл в проект и говориш, что он — Embedded Resource. а в программе любым (не я говорю — мне так сказали) Stream'овым компонентом читаеш
копай в эту сторону
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[2]: Resources
От: Trantor Россия  
Дата: 17.10.02 12:39
Оценка:
Здравствуйте Hacker_Delphi, Вы писали:

EW>>Ed.ward

HD>Точно не скажу, но как мне объясняли — добавляешь файл в проект и говориш, что он — Embedded Resource. а в программе любым (не я говорю — мне так сказали) Stream'овым компонентом читаеш
HD>копай в эту сторону

Либо так, либо засовываешь твой ресурс (изображение) в .resx
... << RSDN@Home 1.0 alpha 12 >>
В жизни мало быть умным, надо еще быть не дураком.
Re[2]: Resources
От: retalik www.airbandits.com/
Дата: 17.10.02 12:47
Оценка:
Здравствуйте Hacker_Delphi, Вы писали:

HD>Точно не скажу, но как мне объясняли — добавляешь файл в проект и говориш, что он — Embedded Resource. а в программе любым (не я говорю — мне так сказали) Stream'овым компонентом читаеш


Поясняю
В Solution Explorer в свойствах файла .ico устанавливаешь свойство BuildAction в Embedded Resource.
Для создания иконки или битмапа используешь следующий псевдокод:
Icon icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyIcon.ico"));

, где MyProject — имя namespace твоего проекта.
Успехов,
Виталий.
Re[3]: Resources
От: Ed.ward Россия  
Дата: 17.10.02 12:54
Оценка:
Здравствуйте Trantor, Вы писали:

T>Здравствуйте Hacker_Delphi, Вы писали:


EW>>>Ed.ward

HD>>Точно не скажу, но как мне объясняли — добавляешь файл в проект и говориш, что он — Embedded Resource. а в программе любым (не я говорю — мне так сказали) Stream'овым компонентом читаеш
HD>>копай в эту сторону

T>Либо так, либо засовываешь твой ресурс (изображение) в .resx



Вот, вот это интересно, а как его запихать?

Ed.ward
Re[4]: Resources
От: alkash  
Дата: 18.10.02 05:33
Оценка:
Здравствуйте Ed.ward, Вы писали:

EW>Вот, вот это интересно, а как его запихать?


EW>Ed.ward


В примерах есть работа с ресурсами (\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization) и там валяеться прога ResEditor, можно через AddIn был www.codeprogect.com.
Re[3]: Resources
От: Ed.ward Россия  
Дата: 21.10.02 06:58
Оценка:
Здравствуйте retalik, Вы писали:

R>Здравствуйте Hacker_Delphi, Вы писали:


HD>>Точно не скажу, но как мне объясняли — добавляешь файл в проект и говориш, что он — Embedded Resource. а в программе любым (не я говорю — мне так сказали) Stream'овым компонентом читаеш


R>Поясняю

R>В Solution Explorer в свойствах файла .ico устанавливаешь свойство BuildAction в Embedded Resource.
R>Для создания иконки или битмапа используешь следующий псевдокод:
R>
R>Icon icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyIcon.ico"));
R>

R>, где MyProject — имя namespace твоего проекта.

одна беда — не работает, нулевой Stream возвращает

Ed.ward
Re[4]: Resources
От: Аноним  
Дата: 21.10.02 07:10
Оценка:
Здравствуйте Ed.ward, Вы писали:

EW>одна беда — не работает, нулевой Stream возвращает


Вот, вставил в произвольную winforms-программу, работает на ура:

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
    Icon icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream
        ("WindowsApplication1.refresh.ico"));
    e.Graphics.DrawIcon(icon, 10, 10);
}

Естественно, namespace проекта у меня при этом WindowsApplication1.
Естественно, в solution explorer присутствует файл refresh.ico.
Естественно, свойство BuildAction у него равно Embedded Resource.
Re[5]: Resources
От: Ed.ward Россия  
Дата: 21.10.02 07:19
Оценка:
Здравствуйте Аноним, Вы писали:

А>Здравствуйте Ed.ward, Вы писали:


EW>>одна беда — не работает, нулевой Stream возвращает


А>Вот, вставил в произвольную winforms-программу, работает на ура:


А>
А>private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
А>{
А>    Icon icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream
А>        ("WindowsApplication1.refresh.ico"));
А>    e.Graphics.DrawIcon(icon, 10, 10);
А>}
А>

А>Естественно, namespace проекта у меня при этом WindowsApplication1.
А>Естественно, в solution explorer присутствует файл refresh.ico.
А>Естественно, свойство BuildAction у него равно Embedded Resource.


private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
  Icon icon = new Icon( Assembly.GetExecutingAssembly().GetManifestResourceStream("ResTest.app.ico"));
  e.Graphics.DrawIcon(icon, 10, 10);
}

Естественно, namespace проекта у меня при этом ResTest.
Естественно, в solution explorer присутствует файл app.ico.
Естественно, свойство BuildAction у него равно Embedded Resource.

Абсолютно неестественно, но это не работает, а конкретно, Stream == null


меня скоро кондратий хватит, исходя из того, что даже Трельсон в своей книге так ловко обошел момент работы с ресурсами, становится понятно, что хрен со всем этим разберешься

Ed.ward
Re[7]: Resources
От: Ed.ward Россия  
Дата: 21.10.02 07:32
Оценка:
Здравствуйте retalik, Вы писали:

R>Здравствуйте Ed.ward, Вы писали:


EW>>Здравствуйте Аноним, Вы писали:

R>(это был я)

EW>>Естественно, namespace проекта у меня при этом ResTest.

EW>>Естественно, в solution explorer присутствует файл app.ico.
EW>>Естественно, свойство BuildAction у него равно Embedded Resource.

R>Знаешь, что странно? Именно с app.ico это и не работает

R>Вставь новую иконку (как у меня в примере) — все полетит.

да, действительно заработало..., странно все это

спасибо!
Ed.ward
Re[5]: Resources
От: retalik www.airbandits.com/
Дата: 21.10.02 07:37
Оценка:
Здравствуйте Trantor, Вы писали:

T>Работает все, просто оно к регистру символов зависимо, разложи свой exe в ILDASM и посмотри точное название твоего файла в ресурсах...

Точно, я тоже торможу

c App.ico все тоже работает.
Успехов,
Виталий.
Re[6]: Resources
От: mikeduglas  
Дата: 29.11.06 07:28
Оценка:
Здравствуйте, retalik, Вы писали:

R>Здравствуйте Trantor, Вы писали:


T>>Работает все, просто оно к регистру символов зависимо, разложи свой exe в ILDASM и посмотри точное название твоего файла в ресурсах...

R>Точно, я тоже торможу

R>c App.ico все тоже работает.


Тоже разбирался, как заюзать иконки из ресурсов, и в ILDASM нашёл, что можно так:

                Size size = MyNamespace.Properties.Resources.MYICON.Size;
                column.Icon = new Icon(MyNamespace.Properties.Resources.MYICON, size);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.