24.01.2018, 08:30 [+3 UTC]
в нашей команде: 2 495 чел. | участники онлайн: 3 (рекорд: 21)

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

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

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

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

:: правила

:: новости

:: участники

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

:: форум

:: блоги

:: поиск

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

:: наш журнал

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

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

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

:: поддержка

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

Версия системы:
7.42 (30.12.2017)

Общие новости:
02.01.2018, 09:46

Форум:
23.01.2018, 17:49

Последний вопрос:
23.01.2018, 20:07

Последний ответ:
24.01.2018, 06:22

Последняя рассылка:
24.01.2018, 02:15

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

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

Наша кнопка:

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

Отзывы о нас:
25.02.2012, 20:11 »
Даровко Антон Владимирович
Вы как всегда решаете задачи отлично! [вопрос № 185492, ответ № 270049]
02.12.2013, 02:23 »
Киреенко Андрей Иванович
за низковольтные аккумуляторы отдельное спасибо. [вопрос № 187650, ответ № 272584]
29.09.2010, 03:34 »
Kardashevskij Anatolij Mikhajlovich
Большущее спасибо я еще попытаюсь разобраться так сказать переварить. С этим у меня туго. Но я надеюсь на дальнейшее сотрудничество хотя это нельзя назвать сотрудничеством так как IQ у вас на 2 порядка выше. [вопрос № 180068, ответ № 263229]

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

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

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

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

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 618
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 376
Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 362

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

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

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