Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Помогите освоить WinAPI |
Автор: sidiakin 7.10.2010, 20:37 | ||||
Читаю книгу Petzold. Вот фрагмент текста, который мне непонятен:
Объясните пож., как здесь находится 150% от ширины символа??? Еще мне непонятно про действительные/недействительные регионы. Автор пишет, что можно перерисовывать, как все окно, так и часть. И что часть окна перерисовывать лучше, чем все окно. А как мне выбирать метод перерисовывания окна, я так и не понял. И вот еще так автор находит положение Scroll Bar:
Как это читать??? Заранее спасибо! |
Автор: ASMatic 8.10.2010, 05:20 |
InvalidateRect по шрифтам ничего не понял) |
Автор: Earnest 8.10.2010, 06:27 | ||
А чего там понимать? 3/2 это и есть 150%. А также см:
|
Автор: sidiakin 8.10.2010, 21:46 |
Ну объясните пожалуйста "на яблоках" |
Автор: borisbn 9.10.2010, 11:04 |
Знаю, что ![]() в Apple нет WinAPI ![]() |
Автор: GremlinProg 10.10.2010, 14:48 |
ну раздели 3 яблока пополам ( 3/2 ) что получится? полтора яблока а что такое 150%? те же полтора яблока, только помноженные на 100% любой другой фрукт будет делиться так же ![]() |
Автор: Logree 10.10.2010, 21:15 | ||||||
я так понимаю у автора проблемы с матчастью... т.е с C++
этот фрагмент кода вернёт 1 если младший бит установлен и 0 если он не установлен, далее смотрим оператор: (условие) ? если истино:если ложно, т.е если бит установлен то выражение (tm.tmPitchAndFamily & 1 ? 3 : 2) будет равно 3 и мы получим: 3/2 * cxChar, если не установлен то выражение (tm.tmPitchAndFamily & 1 ? 3 : 2) буде равно 2 и мы получим: 2/2 * cxChar ; |
Автор: sidiakin 10.10.2010, 22:05 |
Спасибо Logree за подробное разъяснение. Именно это я и хотел спросить. Хотя, если честно, я так и не понял откуда 3 ? и почему так все сложно. Я думал, что 150% от cxChar, то это просто cxChar * 1.5. И пож. поясните по поводу действ./ недейств. прямоугольников при рисовании. Если у меня в окне будет прямоугольник, котор. мне нужно будет перерисовывать, как мне объяснить Windows, что мне нужно перерисовывать только его, а не все окно? Спасибо |
Автор: Logree 11.10.2010, 00:19 |
http://ru.wikipedia.org/wiki/Тернарная_условная_операция |
Автор: sidiakin 11.10.2010, 17:03 |
А-а-а... Еще раз спасибо! |