On-line: PSP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 169
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 26.10.11 21:25. Заголовок: Проблема с MDI окнами


Вот, хочу перевести программу на MDI интерфейс и обнаружил неприятный сюрприз. В MDI окнах невозможно стало устанавливать свойства элементов управления после их создания. Например, нужно в программе редактирования, чтобы после создания GETBOXа в него блокировали ввод, если это режим правки строки и разрешали ввод в режиме дозаписи.
wndEdit.txtID.ReadOnly:=!lNew
где lNew - флаг режима дозаписи.

Почему-то при перестановке окна в MDI выдаётся сбой, будто такого элемента управления нет.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 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)

---------------------------
ОК
---------------------------


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 832
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 21.02.13 19:43. Заголовок: END WINDOW есть?..


END WINDOW есть?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 21
Зарегистрирован: 31.01.13
ссылка на сообщение  Отправлено: 21.02.13 20:39. Заголовок: должно быть (сейчас ..


должно быть (сейчас не могу глянуть на работе осталось), я ведь саму программу не менял, просто в описании окна заменил MAIN на MAIN MDI, а для вложенных поставил MDICHILD. Ну плюс подправил файл как SergKis советовал.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 24
Зарегистрирован: 31.01.13
ссылка на сообщение  Отправлено: 22.02.13 09:17. Заголовок: PSP пишет: END WIN..


PSP пишет:

 цитата:

END WINDOW есть?

Сейчас посмотрел - есть.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 833
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.02.13 09:26. Заголовок: Весь кусок в студию...


Весь кусок в студию.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 27
Зарегистрирован: 31.01.13
ссылка на сообщение  Отправлено: 22.02.13 10:26. Заголовок: PSP пишет: Весь кус..


PSP пишет:

 цитата:
Весь кусок в студию.


Здесь архив формочек и prg-файлов, всё остальное есть в папке MiniGUI\SAMPLES\BASIC\CONTACTOS_2

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 835
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.02.13 11:01. Заголовок: А пример из CONTRACT..


Проблема, возможно, в том, что при объявлении главного окна у вас в файле Principal.Fmg указано одновременно и MAIN, и MDI.


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 451
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.02.13 14:57. Заголовок: rovix пишет: я ведь..


rovix пишет:

 цитата:
я ведь саму программу не менял, просто в описании окна заменил MAIN на MAIN MDI, а для вложенных поставил MDICHILD.


Обратите внимание, что окна типа MDICHILD не нужно активировать
Возможно, также Вам будет интересен пример в папке samples\Basic\mdi_4

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 28
Зарегистрирован: 31.01.13
ссылка на сообщение  Отправлено: 22.02.13 15:56. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Обратите внимание, что окна типа MDICHILD не нужно активировать


Вот где собака порылась

Перейдём к следующему пункту- пропал тулбар в mdi

PSP пишет:

 цитата:
Проблема, возможно, в том, что при объявлении главного окна у вас в файле Principal.Fmg указано одновременно и MAIN, и MDI.


Так в примерах было "MAIN MDI"

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 836
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.02.13 20:05. Заголовок: rovix пишет: Так в ..


rovix пишет:

 цитата:
Так в примерах было "MAIN MDI"


Где? В MiniGUI\SAMPLES\BASIC\CONTACTOS_2 нет.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 29
Зарегистрирован: 31.01.13
ссылка на сообщение  Отправлено: 22.02.13 20:27. Заголовок: PSP пишет: Где? В M..


PSP пишет:

 цитата:
Где? В MiniGUI\SAMPLES\BASIC\CONTACTOS_2 нет.


Нет, конечно же в этом примере нет , я имел ввиду примеры в папках MDI*
На примере CONTACTOS_2 я пытался перевести обычное приложение в mdi интерфейс

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 140
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.02.13 23:26. Заголовок: Пример с toolbar на ..


Пример с toolbar на main mdi (средняя группа кнопок работает):Test Mdi

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 141
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.02.13 23:45. Заголовок: SergKis пишет:Как, я..


SergKis пишет:
 цитата:
Как, я понимаю, toolbar в mdi может находится:
- на MAIN MDI и один для всех CHILD окон
- на всех CHILD оконах, на MAIN MDI отсутствовать.


Это я ОЧЕНЬ неправильно выразился. Надо - при переводе Clipper, WVT программ на mdi желательно использовать ...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 161
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет