|
|
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
V.BorzovrgreatТы уж определись, у канваса есть хендл или у хендла есть канвас. Функции DrawText в любом случае придется передать хендл какого-нибудь канваса, поэтому не понимаю, как можно обойтись тут без канваса. То что вашего кота зовут Василий не означает, что "Василий" - это кошачье имя. Т.е. то что Canvas в качестве Handle использует HDC не означает что WinApi про него что-нибудь вообще знает. Это просто фантик над функциями WinApi. И фраза "отказаться от Canvas" подразумевает что вы в своих OnDrawЧтотоТам() просто делаете что-то вроде PaintDC := Canvas.Handle и далее забываете о существовании такого свойста/параметра (Canvas), а рисуете используя только функции WinApi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 19:49 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
Пациент глубоко засел в танке и заварил люки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 19:57 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
[quot alekcvp]V.BorzovИ фраза "отказаться от Canvas" подразумевает что вы в своих OnDrawЧтотоТам() просто делаете что-то вроде PaintDC := Canvas.Handle и далее забываете о существовании такого свойста/параметра (Canvas), а рисуете используя только функции WinApi. Тогда непонятно, что вы там выше вообще имели ввиду, ибо речь и шла как раз о функции SelectObject, в которую передается хендл канваса. О функции api, которая была задействована для увеличения скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 20:02 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
Блин, у меня такое ощущение, что тут кто-то троллит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 20:26 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
На всякий случай, если действительно танк: V.Borzov Но почему тогда canvas.font показывает старые значения? Казалось бы, должен показать значения нового фонта, его имя, его размер... Хотя, если попросить canvas нарисовать чего-нибудь, рисует новым фонтом.alekcvpИ фраза "отказаться от Canvas" подразумевает что вы в своих OnDrawЧтотоТам() просто делаете что-то вроде PaintDC := Canvas.Handle и далее забываете о существовании такого свойста/параметра (Canvas) , а рисуете используя только функции WinApi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 20:32 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
alekcvpБлин, у меня такое ощущение, что тут кто-то троллит... Так у меня точно такое же чувство.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 20:40 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
С таким уровнем знаний, полезнее почитать книжки про WinApi с примерами и msdn, чем на форумах флудильню устраивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2018, 00:22 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
white_niggerС таким уровнем знаний, полезнее почитать книжки про WinApi с примерами и msdn, чем на форумах флудильню устраивать Ну, так зачем флудите-то? Тут флудильщиков с грамотными советами и так хватает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2018, 00:55 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
Что-то тема съехала во флудильню. Завязываем. :) V.BorzovСложности со скоростью, скорость такой функции падает в полтора раза.амм... Полтора?? Что-то совсем не верится... Вы уверены что именно из-за этого, а не в каком-то другом месте? Рисуется на само окно или на битмап? Как замеряете? Сколько и каких элементов рисуется (длины строк и какие символы)? Размер/шрифт? Количество смен шрифтов? Можете повторить на пустом проекте и выложить сюда? Тогда подумаем, а на словах скорее всего не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2018, 02:22 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
LoneFastмм... Полтора?? Что-то совсем не верится... хм.. я наврал. Мои тесты были некорректны. Вот этот пример показывает, что скорость практически одинаковая, и TFont.Create практически ничего не замедляет. Ошибка была в содержимом выводимого текста. Ну, если я опять чего не напутал: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Получается, можно не заморачиваться с SelectObject. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2018, 14:15 |
|
||
|
Как работает функция SelectObject?
|
|||
|---|---|---|---|
|
#18+
1. Сохранение/восстановление каких либо значений должно всегда происходить по схеме Код: pascal 1. 2. 3. 4. 5. 6. 2. Зачем миллион раз создавать/уничтожать объект TFont, если это можно сделать только один раз? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2018, 11:20 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39627011&tid=2041035]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 482ms |

| 0 / 0 |
