Автор | Сообщение |
|
| постоянный участник
|
Пост N: 169
Зарегистрирован: 27.07.08
|
|
Отправлено: 26.10.11 21:25. Заголовок: Проблема с MDI окнами
Вот, хочу перевести программу на MDI интерфейс и обнаружил неприятный сюрприз. В MDI окнах невозможно стало устанавливать свойства элементов управления после их создания. Например, нужно в программе редактирования, чтобы после создания GETBOXа в него блокировали ввод, если это режим правки строки и разрешали ввод в режиме дозаписи. wndEdit.txtID.ReadOnly:=!lNew где lNew - флаг режима дозаписи. Почему-то при перестановке окна в MDI выдаётся сбой, будто такого элемента управления нет.
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|
|
| |
Пост N: 18
Зарегистрирован: 31.01.13
|
|
Отправлено: 21.02.13 18:36. Заголовок: неа, всё равно не вз..
неа, всё равно не взлетело :( теперь, правда, другое сообщение. --------------------------- Program Error --------------------------- Harbour MiniGUI Extended Edition 2.1.9 - 2013.01.22 ACTIVATE WINDOW: DEFINE WINDOW Structure is not closed. Program terminated. Called from _ACTIVATEWINDOW(1124) Called from VIEWPREDPR(501) Called from (b)MAIN(22) Called from _DOCONTROLEVENTPROCEDURE(1596) Called from EVENTS(1383) Called from _DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(1321) Called from MAIN(26) --------------------------- ОК ---------------------------
|
|
|
|
| постоянный участник
|
Пост N: 832
Зарегистрирован: 27.01.07
|
|
Отправлено: 21.02.13 19:43. Заголовок: END WINDOW есть?..
END WINDOW есть?
|
|
|
|
| |
Пост N: 21
Зарегистрирован: 31.01.13
|
|
Отправлено: 21.02.13 20:39. Заголовок: должно быть (сейчас ..
должно быть (сейчас не могу глянуть на работе осталось), я ведь саму программу не менял, просто в описании окна заменил MAIN на MAIN MDI, а для вложенных поставил MDICHILD. Ну плюс подправил файл как SergKis советовал.
|
|
|
|
| |
Пост N: 24
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 09:17. Заголовок: PSP пишет: END WIN..
PSP пишет: Сейчас посмотрел - есть.
|
|
|
|
| постоянный участник
|
Пост N: 833
Зарегистрирован: 27.01.07
|
|
Отправлено: 22.02.13 09:26. Заголовок: Весь кусок в студию...
Весь кусок в студию.
|
|
|
|
| |
Пост N: 27
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 10:26. Заголовок: PSP пишет: Весь кус..
PSP пишет: Здесь архив формочек и prg-файлов, всё остальное есть в папке MiniGUI\SAMPLES\BASIC\CONTACTOS_2
|
|
|
|
| постоянный участник
|
Пост N: 835
Зарегистрирован: 27.01.07
|
|
Отправлено: 22.02.13 11:01. Заголовок: А пример из CONTRACT..
Проблема, возможно, в том, что при объявлении главного окна у вас в файле Principal.Fmg указано одновременно и MAIN, и MDI.
|
|
|
|
| moderator
|
Пост N: 451
Зарегистрирован: 11.02.10
|
|
Отправлено: 22.02.13 14:57. Заголовок: rovix пишет: я ведь..
rovix пишет: цитата: | я ведь саму программу не менял, просто в описании окна заменил MAIN на MAIN MDI, а для вложенных поставил MDICHILD. |
| Обратите внимание, что окна типа MDICHILD не нужно активировать Возможно, также Вам будет интересен пример в папке samples\Basic\mdi_4
|
|
|
|
| |
Пост N: 28
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 15:56. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Обратите внимание, что окна типа MDICHILD не нужно активировать |
| Вот где собака порылась Перейдём к следующему пункту- пропал тулбар в mdi PSP пишет: цитата: | Проблема, возможно, в том, что при объявлении главного окна у вас в файле Principal.Fmg указано одновременно и MAIN, и MDI. |
| Так в примерах было "MAIN MDI"
|
|
|
|
| постоянный участник
|
Пост N: 836
Зарегистрирован: 27.01.07
|
|
Отправлено: 22.02.13 20:05. Заголовок: rovix пишет: Так в ..
rovix пишет: цитата: | Так в примерах было "MAIN MDI" |
| Где? В MiniGUI\SAMPLES\BASIC\CONTACTOS_2 нет.
|
|
|
|
| |
Пост N: 29
Зарегистрирован: 31.01.13
|
|
Отправлено: 22.02.13 20:27. Заголовок: PSP пишет: Где? В M..
PSP пишет: цитата: | Где? В MiniGUI\SAMPLES\BASIC\CONTACTOS_2 нет. |
| Нет, конечно же в этом примере нет , я имел ввиду примеры в папках MDI* На примере CONTACTOS_2 я пытался перевести обычное приложение в mdi интерфейс
|
|
|
|
|
| постоянный участник
|
Пост N: 139
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.02.13 22:07. Заголовок: rovix пишет:Перейдём..
rovix пишет: цитата: | Перейдём к следующему пункту- пропал тулбар в mdi |
| Как, я понимаю, toolbar в mdi может находится: - на MAIN MDI и один для всех CHILD окон - на всех CHILD оконах, на MAIN MDI отсутствовать. В примере, Principal.fmg - это child окно, а не main mdi, т.к. *.fmg содержат toolbar. По поводу statusbar - этот контрол должен находится на main mdi и исключен из child окон, вывод текстов надо с child окон перенаправить в main mdi. Пример вывода текста в Statusbar: FUNCTION MsgSTB( cMessage, nItem, cForm ) LOCAL i Default nItem To 1 IF Empty( cForm ) i := AScan(_HMG_aFormType, 'A') cForm := iif(i > 0, _HMG_aFormNames [ i ], '') ENDIF IF _IsControlDefined("StatusBar", cForm) SetProperty( cForm, "StatusBar", "Item", nItem, cMessage ) ENDIF RETURN NIL В Principal.fmg событие ON INIT Nil заменить на: ON INIT ( MsgSTB("Contactos with MiniGUI IDE", 1), ; MsgSTB("Harbour MiniGUI", 2) ) так же поступить в Win_2.fmg А MAIN MDI окно надо создать сверху: ... DEFINE WINDOW Form_1 ; ... DEFINE MAIN MENU POPUP "File" ITEM "Principal.fmg" NAME Principal ACTION PrincipalCild() SEPARATOR ITEM "Exit" NAME Exit ACTION ThisWindow.Release END POPUP ... END MENU DEFINE STATUSBAR FONT 'MS Sans Serif' SIZE 9 STATUSITEM "HMG Power Ready! 1" STATUSITEM "HMG Power Ready! 2" ... END STATUSBAR END WINDOW ... Function PrincipalCild() ... Return
|
|
|
|
| постоянный участник
|
Пост N: 140
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.02.13 23:26. Заголовок: Пример с toolbar на ..
Пример с toolbar на main mdi (средняя группа кнопок работает): Test Mdi
|
|
|
|
| постоянный участник
|
Пост N: 141
Зарегистрирован: 17.02.12
|
|
Отправлено: 22.02.13 23:45. Заголовок: SergKis пишет:Как, я..
SergKis пишет: цитата: | Как, я понимаю, toolbar в mdi может находится: - на MAIN MDI и один для всех CHILD окон - на всех CHILD оконах, на MAIN MDI отсутствовать. |
| Это я ОЧЕНЬ неправильно выразился. Надо - при переводе Clipper, WVT программ на mdi желательно использовать ...
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|