|
|
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
как на форме(сабформе) нарисовать кружок, квадратик и к томуж разного цвета и в нужном месте. желательно с примером пока в API не силён. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 10:13 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Получится полная чухня! Я думаю тебе этот ананизм не шибко нужен, возьми непечатаемые символы и вставь в форму как внедренный ОЛЕ объект... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 10:44 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. Пояснения: 1. RectForm - струтура с размерами формы, типа: Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type естетсвенно можно заменить ее в функциях на Me.Right или вообще число подставить 2. Me - твоя форма, а Me.hwnd - декриптор ее окна (если такого свойства у твоей формы нет (например в VBA Excel,Word), то тебе надо самому искать hwnd своей формы - отд. разговор) 3. От совместимого дескриптора можно отказаться и рисовать сразу в hDC: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. - совместимого дескриптора нужен для того, чтобы спокойно все нарисовать на копии витмап изображения твоей формы, а потом в конце сразу за оприсест все вывести. Это удобно при анимации, не будет видно мелькания при перерисовки, потому что мы просто наложим сверху новую картинку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 11:07 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Да, объявления API функций: Код: plaintext 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. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 11:11 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
2Северный_Бобер Я думаю тебе этот ананизм не шибко нужен, возьми непечатаемые символы и вставь в форму как внедренный ОЛЕ объект... ежели получится(а я в этом уверен) тебе предется взять свои лова обратно... 2SergeySV спасибо , буду пробовать надо самому искать hwnd своей формы а ежели это поле? буду над этим думать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 11:48 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
>>а ежели это поле? буду над этим думать... тут эта тема неоднакратно поднималась уже на форуме. Контролы в Access рисованные и не имеют своего hWnd, они его получают только когда получают фокус, так сказать по быстрому, чтобы не занимал его все время, так что делать что-то с контролом через hWnd вряд ли получится, другое дело - форма. Так что если ты хочешь рисовать на поле вне зависимости имеет ли оно фокус, надо брать hDc формы -> ее битмап и зная где на этом битмапе находится нарисованный контрол, рисовать что-нибудь сверху... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 12:25 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Контролы в Access рисованные и не имеют своего hWnd, они его получают только когда получают фокус, т.е. они его всётаки имеют. а как его получить (при получении фокуса)? поле.hWdn? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 12:49 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
http://www.mvps.org/access/api/api0027.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:04 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Как вариант: На поле, на кнопке или где хочешь устанавливаешь шрифт Webdings или Wingdings и в значении по умолчанию для поля или в подпись - для кнопки, вводишь какую-нить буковку - и будет тебе счастье! Комбинируя буквами можно выбрать и кружок, и квадрат, и пароход, и самолет - что угодно... Тока размер шрифта надо ставить поболее. Ежели ты хочешь именно свой кружок нарисовать - тады ой...!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:28 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
чё получится покажу, тока не скора... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 15:57 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
2SergeySV эта значит в модуле а в форме vv вызывается по кнопке но ругеатся - помечено апликашин-дефинишен или объект дефенишен еррор похоже там еще что-то дложно быть? Код: plaintext 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 14:27 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Вообще-то нарисованные с помощью API кружочки и прочее долго не живут. Стоит проскроллить туды-сюды или еще каким-то образом обновить форму и Access все потрет нафик. Я так пытался разукрашивать поля в зависимости от условия (типа условное форматирование). Так стоит что-нибудь с формой сотворить и Access перекрашивает все взад (причем остаются некоторые ошметки) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 14:46 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
2CtrlAlt это относится к данному методу или вообще к рисованию через API? может можно создать какой-либо битмап, который будет связан с окном акса или полем, а не экраном? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 14:54 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
на русьимпорте один показавал нечто подобное, правда выкладывал в мде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 14:56 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Объясни подробнее где тебе нужон кружок твой? Если в форме, то можно внедрить имидж, либо использовать свойство Picture. Если в поле, то зачем? Ведь текст либо все затрет, либо наложится и бедет что-то нечетабельное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 15:15 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
да всё чтоб выделить строку в ленточной форме.\r применительно к адр\r \r есть решения , но тормознутые \r в основном из-за того, что акс прорисовывает/производит вычисления по полям(функции в поле, sum..) через некоторое время после обновления данных у меня это ~0.3 сек хотся что-то быстрое...\r ус.форм не катит!!!!\r \r один из вариантов\r Выделение записи цветом - работающий вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 17:16 |
|
||
|
Рисование с помощью API
|
|||
|---|---|---|---|
|
#18+
Если тебе для ленточных форм нужно рисовать, то это API тебе конечно врядли подойдет, потому как правильно уже заметили, все что ты нарисуешь Access перерисует как только будет обновление формы (в смысле необходимость в перерисовке: окно переместили, скрол сделали и т.д.), тут тогда надо ловить событие формы OnPaint и быстренько перерисовывать, токо вот у формы Access помойму такого события нет и вечный бой продолжается.... Не знаю какие варианты уже рассмотрел, но попробую тебе предложить свой вариант раскрасски в ленточных формах, работает достаточно быстро, писал я его сам и только потом в инете нашел, что такие же варианты решения проблемы: суть в том, что в таблицу добавляется поле OLE куда в каждую запись программно внедряются маленькие bmp рисунки (в моем случае), а также программно удаляются если надо. В форме ставятся присоединенная рамка или ... и устанавливается связь с полем OLE (ставим растяжение рисунка). Его кладем на форму, внизу под элементы, а их фон делаем прозрачный, таким образом я спокойно выделял всю строку в лент. форме и по нажатиям кнопок цвет быстренька менялся... вообщем, если тебя интересует могу выцепить пример из базы и переслать для пробы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 17:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32342960&tid=1677808]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 310ms |

| 0 / 0 |
