Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.09.2003, 22:21
|
|||
|---|---|---|---|
Указатель мыши и границы окна |
|||
|
#18+
1. Можно ли задать такой режим, что-бы указатель мыши не выходил за границы модального окна? 2. Как эффектно(эффективно) выделить активную кнопку в форме VFP не изменяя PICTURE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2003, 00:30
|
|||
|---|---|---|---|
Указатель мыши и границы окна |
|||
|
#18+
> 1. Можно ли задать такой режим, что-бы указатель мыши не выходил за границы модального окна? Держи пример. Код: 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. Пример будет нормально работать в 7-й версии и выше. Для более ранних нужно вычислить hWnd самому. Например, добавить к форме свойство hWnd и выполнить такой код в Form.Activate: Код: plaintext 1. И еще учти, что границы для мыши действуют для ВСЕХ приложений. > 2. Как эффектно(эффективно) выделить активную кнопку в форме VFP не изменяя PICTURE ? Ну тут, как говорится, на вкус и цвет.. Текст можно выделить цветом или шрифтом. Если на кнопке нет текста, то подложи под нее shape и показывай его в зависимоти от того, активна она или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2003, 20:46
|
|||
|---|---|---|---|
Указатель мыши и границы окна |
|||
|
#18+
==> NNN Спасибо 1. Попробую. 2. <подложи под нее shape и показывай его в зависимоти от того, активна она или нет>. Это что-же под каждую кнопку подкладывать? А у самой кнопки с PICTURE(не с текстом) нет ли подходящего свойства ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2003, 21:41
|
|||
|---|---|---|---|
Указатель мыши и границы окна |
|||
|
#18+
2Kozerog > А у самой кнопки с PICTURE(не с текстом) нет ли подходящего свойства ? А версия фокса какая? В 8-й можно изменить цвет фона кнопки с помощью свойства BackColor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.09.2003, 10:32
|
|||
|---|---|---|---|
Указатель мыши и границы окна |
|||
|
#18+
==> NNN 1.VFP6.0 SP5 2.Cвойства BackColor у кнопок здесь нет. Видимо единственное решение -смена PICTURE для каждой кнопки. Т.е. для каждой кнопки нужно держать две картинки 3. Проверил Ваш пример на VFP6.0 SP5. Fox-у не понравилось второе определение DECLARE integer ClipCursor. Слегка подправил - и заработало, см ниже(мои исправления KO): ********************************************************* LOCAL loForm as Form loForm=NEWOBJECT('form1') READ EVENTS DEFINE CLASS form1 AS form DoCreate = .T. Caption = "Form1" Name = "Form1" ADD OBJECT command1 AS commandbutton WITH ; Top = 216, ; Left = 276, ; Height = 25, ; Width = 85, ; Caption = "Lock", ; Name = "Command1" PROCEDURE bin2int LPARAMETERS tcString as String LOCAL i as Integer LOCAL lnValue as Integer lnValue=0 FOR i= 1 TO 4 lnValue=lnValue+ASC(SUBSTR(tcString,i,1))*255^(i-1) ENDFOR RETURN lnValue ENDPROC PROCEDURE Init DECLARE integer ClipCursor IN WIN32API string @ lpRect DECLARE integer GetClientRect IN WIN32API integer lhWnd, string @ lpRect * KO DECLARE integer ClipCursor IN WIN32API as UnClipCursor integer DECLARE integer ClientToScreen IN WIN32API integer lhwnd, string @ lpPoint DECLARE integer OffsetRect IN WIN32API string @ pRect, integer x, integer y this.Visible= .T. ENDPROC PROCEDURE Unload =ClipCursor(0) && KO CLEAR DLLS CLEAR EVENTS ENDPROC PROCEDURE command1.Click IF this.Caption='Lock' this.Caption='Unlock' LOCAL lpRect as String LOCAL lpPoint as String LOCAL x as Integer LOCAL y as Integer lpRect=REPLICATE(CHR(0),16) lpPoint=REPLICATE(CHR(0),8) =GetClientRect(thisform.HWnd, @lpRect) =ClientToScreen(thisform.hwnd, @lpPoint) x=thisform.bin2int(LEFT(lpPoint,4)) y=thisform.bin2int(RIGHT(lpPoint,4)) =OffsetRect(@lpRect, x, y) =ClipCursor(@lpRect) ELSE this.Caption='Lock' =ClipCursor(0) && KO ENDIF ENDPROC ENDDEFINE ****************************************************** P.S. Как Вы получаеие выделение текстов программ в сообщениях, хотел повторить не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.09.2003, 11:08
|
|||
|---|---|---|---|
Указатель мыши и границы окна |
|||
|
#18+
2Kozerog > Видимо единственное решение -смена PICTURE для каждой кнопки. Т.е. для каждой кнопки нужно держать две картинки А вот такой код будет работать под vfp6? Код: 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. Если работает, то можно поиграться с ColorScheme и выбрать приемлитый вариант. > Fox-у не понравилось второе определение DECLARE integer ClipCursor. Слегка подправил - и заработало, см ниже(мои исправления KO): Там главное вместо структуры (представленной в виде строки) передать NULL, а каким образом - неважно :) > Как Вы получаеие выделение текстов программ в сообщениях, хотел повторить не получилось. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1597810]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 438ms |

| 0 / 0 |
