18.10.2017, 10:29 [+3 UTC]
в нашей команде: 2 177 чел. | участники онлайн: 5 (рекорд: 21)

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

:: консультации

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

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

:: правила

:: новости

:: участники

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

:: форум

:: блоги

:: поиск

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

:: наш журнал

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

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

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

:: поддержка

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

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
18.10.2017, 03:28

Последний вопрос:
17.10.2017, 19:30

Последний ответ:
18.10.2017, 06:25

Последняя рассылка:
18.10.2017, 00:45

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

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

Наша кнопка:

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

Отзывы о нас:
14.08.2011, 07:53 »
korsar
Спасибо за подробный ответ [вопрос № 183865, ответ № 268031]
28.09.2016, 11:32 »
KORSAJan
Большое спасибо,что помогли ) а то все выходные мучался сидел [вопрос № 189821, ответ № 274110]

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

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

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

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

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 301
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 170
solowey
Статус: 6-й класс
Рейтинг: 110

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

Консультация онлайн # 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.13858 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн