Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Вот перешел на 8-ку (больно понравилась). И решил отказаться от актив иксовских тулбаров в пользу фоксовских. Но вот меня ждет разочарование. Проблема вот в чем Есть класс тулбара в нем пропети ShowWindow=1 Есть форма. Вней есть проперти oWin=.null. Пропети формы ShowWindow=2 Далее в методе Инит такой код **INIT********************************** THISFORM.oWin=CreateObject("МойТулБар") THISFORM.oWin.Show() THISFORM.oWin.Dock(0) ************************************** И тулбар создается в основном окне фокса а не в нужном мне окне Как я понимаю тулбар создается только в активном окне. Т.е я переместил код в метод Show но и это не помогло помогает только если на форме присутствуют какие либо объекты и если перед созданием тулбара в методе Show дать им фокус *SHOW ******************* THISFORM.ЛюбойОбъект.SetFoces THISFORM.oWin=CreateObject("МойТулБар") THISFORM.oWin.Show() THISFORM.oWin.Dock(0) ********************************* А что делать если на форме нет ни одного обекта (мой случай) Как запихать тулбар в нужное мне окно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 12:11 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Ну, это не проблема: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 12:16 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Вот перешел на 8-ку (больно понравилась). И решил отказаться от актив иксовских тулбаров в пользу фоксовских. Можно поинтересоваться, почему именно восьмерка сподвигла Вас на этот шаг? Ничего принципиально нового в движке тулбаров, насколько мне известно, в ней привнесено не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 12:39 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Впринципе можна конечно использовать этот код, Анатолий. Но как то мне он не нравится. Хотя чуство такое что так оно у меня и будет жить. RE: Aijik Чем сподвигло. Да наверное в большинстве более графическим фейсом. Подсветка строки. Набухающие кнопки. Редактируемый курсор. Обработка ошибок. Мелочь а приятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 13:15 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Я в принципе про тулбары спрашивал, ну да ладно... :)) Набухающие кнопки были и VFP7... Чего до сих пор не хватает фоксу в этой области (ИМХО) - это невозможность привязать тулбар к обычной (не-toplevel) форме и отсутствие нативного класса а-ля SpeedButton в дельфях. SpeedButton - это кнопка, эмулирущая поведение тулбаровской, т.е. не перетягивающая фокус на себя. Таким образом, реализация интерфейса а-ля 1С с линейкой а-ля-тулбарных кнопок, не перехватывавающих фокус - довольно геморрная задача. Зачем надо? Вспомните бесконечные Grid.SetFocus() в конце метода каждой кнопки... В фоксе, чтобы реализовать 1С'овское чудо, нужны большие извраты (надо либо эмулировать SpeedButton стандартным контролами, либо ActiveX-Toolbar на форму класть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 13:52 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Таким образом, реализация интерфейса а-ля 1С с линейкой а-ля-тулбарных кнопок, не перехватывавающих фокус - довольно геморрная задача. Можно просто написать свой аналогичный контрол и все будет тип-топ. Я правда все эти рукописные контролы не о чем люблю и обычно просто перевожу фокус на наиболее часто используемый объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 14:50 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Есть еще один вариант. Кнопка и сверху прозрачный шейп и отлавливать события на шейпе, при этом меняя visualeffect и цвет кнопки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 14:57 |
|
||
|
Ох уж этот тулбар
|
|||
|---|---|---|---|
|
#18+
Согласен. Я ж и говорю - эмулировать стандартными контролами... У меня это сделано с помощью контейнера со стандартным CommandButton с RETURN .F. во When(). Пару извратов с событиями контейнера и практически идентичный тулбаровкой кнопке контрол получился. А через класс Control я тоже пытался выворачивать, но что-то мне в нем сэимулировать не удалось, либо удалось, но реализация чем-то не устроила - не помню уже... В конце концов остановился на паре Container+CommandButton ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32248714&tid=1597969]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 456ms |

| 0 / 0 |
