18.06.2018, 02:53 [+3 UTC]
в нашей команде: 2 848 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
17.06.2018, 22:18

Последний вопрос:
17.06.2018, 23:52

Последний ответ:
17.06.2018, 21:56

Последняя рассылка:
17.06.2018, 11:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
14.12.2011, 17:56 »
Кудинов Иван Николаевич
Вот спасибо большое) Выручили так выручили) [вопрос № 184750, ответ № 269141]
07.10.2009, 17:44 »
Владимир Лазурко
Спасибо за ссылки! Больше всего понравился последний сайт - там много статей. [вопрос № 173014, ответ № 255128]
16.11.2016, 17:52 »
svrvsvrv
Спасибо за принцип решения [вопрос № 190047, ответ № 274264]

РАЗДЕЛ • .NET Framework / C# / Java

Создание программ на программной платформе .NET Framework и языках С# и Java.

[администратор рассылки: Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 273
CradleA
Статус: Профессор
Рейтинг: 157
solowey
Статус: Студент
Рейтинг: 88

Перейти к консультации №:
 

Консультация онлайн # 138832
Раздел: • .NET Framework / C# / Java
Автор вопроса: effort
Отправлена: 31.05.2008, 22:32
Поступило ответов: 2

В разных источниках как пример увидел при регистрации класса окна запись в структуру типа WNDCLASS:
WNDCLASS ws;
...
ws.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
...

Так вот зачем еденицу-то прибавляют? Ведь не просто так аж в 2-х разных книжках написали.

Состояние: Консультация закрыта

Ответ # 225145 от Denisss


Здравствуйте, effort!

Потому, что так придумали разработчики Microsoft...
В MSDN написано так: "A color value must be one of the following standard system colors (the value 1 must be added to the chosen color)..." (Значение цвета должно соответствовать одному из следующих стандартных системных цветов (необходимо добавлять единицу к выбранному значению цвета)...).

Насколько я понимаю, сделано это было потому, что COLOR_SCROLLBAR объявлен равным нулю (см. winuser.h), а чтобы не путать (HBRUSH)COLOR_SCROLLBAR c NULL_HBRUSH, то Microsoft придумали прибавлять 1 (т.е. чтобы не было нуля).

Дополнительно: ссылка (на англ.)

Успехов!


Консультировал: Denisss
Дата отправки: 31.05.2008, 23:20

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 225147 от DrakoN

!!!
Здравствуйте, effort!
1)ссылка

2) заметьте в С++ эта единичка не добавляеться.

3) Попытаюсь предположить что причина в разнице в работе с массивами. (не) Поддержке 0 - го элемента в разных типах массивов. Т.е. массив имеет поле имеющее значение 0, но не имеет 0 - го элемента. В С# возникает трудность т.к. идет попітка получить 0 - й элемен(которого может не быть)т. Для этого и добавляют еденицу...
4) Вероятнее всего я ошибаюсь но могу сказать вам точно, что ответ лежит в системных С++ библиотеках

В соответствии со статьей в MSDN (WNDCLASS Structure) единицу нужно прибавлять независимо от языка программирования (Visual Basic, C++, C#, J#, JScript, ...)
-----
• Отредактировал: Denisss (Профессор)
• Дата редактирования: 01.06.2008, 14:22 (MCK)


Консультировал: DrakoN
Дата отправки: 31.05.2008, 23:23

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13599 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018