Форум » GUI » Вопросы новичка [MiniGUI] » Ответить

Вопросы новичка [MiniGUI]

Dima: MAIN окно не получило фокус ввода при запуске , почему ? Пример самодостаточный. [pre2] #include "minigui.ch" REQUEST HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866, HB_LANG_RUWIN REQUEST HB_LANG_RUWIN REQUEST HB_LANG_RU866 Func Main() DEFINE WINDOW Form_0 AT 321 , 491 WIDTH 558 HEIGHT 175 TITLE "Почему окно не в фокусе при запуске ?" ; MAIN NOSIZE NOSYSMENU TOPMOST ON INIT {|| MdiMain()} DEFINE BUTTONex Button_1 ROW 32 COL 424 WIDTH 110 HEIGHT 28 CAPTION "Вход" ACTION { || ret:=.t., DoMethod("Form_0","Hide") , DoMethod("Form_1","show") } FONTBOLD .t. END BUTTONex DEFINE BUTTONex Button_2 ROW 71 COL 424 CAPTION "Отмена" ACTION { || DoMethod("Form_0","Release") } WIDTH 110 HEIGHT 28 FONTBOLD .t. END BUTTONex END WINDOW Form_0.Activate Form_0.Setfocus return nil ***************************** Func Mdimain() DEFINE WINDOW Form_1 at 0,0 ; WIDTH 200 HEIGHT 300 TITLE "MDI windows" ; MDI ; NOSHOW END WINDOW Form_1.Center Form_1.Activate Form_0.Release return [/pre2]

Ответов - 250, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All

rvu: Хочется сделать крестик для закрытия окон неактивным. Пишу SET INTERACTIVECLOSE OFF - у окон CHILD это работает, а у окна MAIN продолжает быть активным, разве что при нажатии на него выдает, что так нельзя закрыть программу. А можно ли убрать активность и там? Подумалось, что можно сделать главное меню MAIN NOSHOW, а все видимые окна CHILD. Попробую так. Но может есть способ поизящнее? И можно ли распространить этот SET INTERACTIVECLOSE OFF только на одно CHILD окно, оставив у остальных и у главного активность? Мне не удалось так сделать.

SergKis: для main можно делать без сообщения, но с X на окне PUBLIC lMain_Close := .F. DEWINE WINDOW ... MAIN ... ; ON INTERACTIVECLOSE lMain_Close ... по кнопке "Завершить" с ACTION ( lMain_Close := .T., ThisWindow.Release )

SergKis: PS с любого окна можно поставить lMain_Close := .T. и завершить программу


rvu: А можно изменить свойства TITLE в окне? Размер шрифта, например?

Andrey: rvu пишет: А можно изменить свойства TITLE в окне? Справка по МиниГуи. [pre2]Set / Gets title of a window.. SYNTAX Pseudo-OOP: Set: <WindowName>.Title := cTitle Get: <WindowName>.Title --> cTitle Function syntax: Set: SetProperty ( <WindowName>,Title := cTitle ) Get: GetProperty ( <WindowName>, Title ) --> cTitle[/pre2] rvu пишет: Размер шрифта, например? ТОЛЬКО через настройки самой Винды.

SergKis: rvu Посмотрите ChangeLog.txt 2018/06/06: HMG Extended Edition version 18.05. и в указанный пример добавьте команду и соберите[pre2] END BUTTON SET TITLEBAR HEIGHT TO 80 END WINDOW CENTER WINDOW Win1 ACTIVATE WINDOW Win1 [/pre2]

SergKis: PS при запуске имейте еще загруженные программы или Far, для интереса

mshep: Добрый вечер всем! Может, кто подскажет дедушке, можно ли в функции FD81() каким-нибудь GetProperty Получить текстовку 'бла-бла' ?? DEFINE WINDOW TEMPLATE AT 174 , 239 WIDTH Xwidth HEIGHT Xheight ; TITLE Xtitle MAIN ICON "FDmain" NOMAXIMIZE DEFINE MAIN MENU DEFINE POPUP "Входные данные" IF Xpredpr = 80 MENUITEM 'бла-бла' ACTION FD81() MENUITEM 'Особисти карткi ЛПХ' ACTION FD_list(15)

SergKis: mshep ... MENUITEM 'бла-бла' ACTION FD81() NAME _101 MENUITEM 'Особисти карткi ЛПХ' ACTION FD_list(15) NAME _102 ... FUNC FD81() MsgInfo(ThisWindow.Name + CRLF + This.Name + CRLF + This.Caption) RETURN FUNC FD_list(nMode) MsgInfo(ThisWindow.Name + CRLF + This.Name + CRLF + This.Caption) RETURN

mshep: Нее... Из экранной формы все котит, а из DEFINE MAIN MENU - там же не Button, надписи нет... ((( Дает FDMain, DummyMenuName9, "" Через MESSAGE не берет, как к текстовке обращаться...

SergKis: тогда так [pre2] Define main menu Popup 'File' Item 'Open' Action MsgInfo ( This.Name+CRLF+_HMG_aControlCaption[ This.Index ] ) NAME _101 ... [/pre2] NAME добавьте, с ним лучше чем с Dummy...

mshep: Пасибки, уже ближе. Только This.Index там почему-то нет, что-то другое надо. This.value тоже не идет... (((

SergKis: mshep Хорошо бы полный тест. Мой на базе BASIC\Menu\menudemo.prg[pre2] Define window Form_1 ; At 0, 0 ; Width 400 ; Height 200 ; Title 'Menu Test' ; Icon 'Demo.ico' ; Main ; NotifyIcon 'Demo.ico' Define main menu Popup 'File' Item 'Open' Action MsgInfo ( This.Name+CRLF+_HMG_aControlCaption[ This.Index ] ) NAME _101 Item 'Save' Action MsgInfo ( This.Name+CRLF+hb_ntos(This.Index) ) NAME _102 Item 'Print' Action MsgInfo ( This.Name+CRLF+hb_ntos(This.Index) ) NAME _103 Item 'Save As...' Action MsgInfo ( This.Name+CRLF+hb_ntos(This.Index) ) Separator Item 'Exit' Action Form_1.Release Image 'Exit.Bmp' Default End Popup ... выдает все как запрошено [/pre2]

mshep: Понятно все... На Вашем примере у меня: Harbour 3.2.0dev (r1509181115) Copyright (c) 1999-2015, http://harbour-project.org/ C:\MiniGUI\IDE\FDmax07\FDMain.fmg(5) Error E0030 Syntax error "syntax error at '.'" C:\MiniGUI\IDE\FDmax07\FDMain.fmg(6) Error E0030 Syntax error "syntax error at '.'" C:\MiniGUI\IDE\FDmax07\FDMain.fmg(7) Error E0030 Syntax error "syntax error at '.'" C:\MiniGUI\IDE\FDmax07\FDMain.fmg(8) Error E0030 Syntax error "syntax error at '.'" 4 errors IDE у меня еще 15 год..... Значит, позже все эти фички появились.....

SergKis: mshep В своей версии используйте вместо This. конкретное имя окна, к примеру Item 'Open' Action MsgInfo ( Form_1.Name+CRLF+_HMG_aControlCaption[ Form_1.Index ] ) NAME _101

SergKis: ЗЫ Чуть погорячился в ночи (написанное для формы), через индекс контрола добывать в Вашей версии надо Item 'Open' Action MsgInfo ( _HMG_aControlCaption[ Form_1._101.Index ] ) NAME _101 или переменные (подсветите их в функциях) _HMG_ThisFormIndex _HMG_ThisType _HMG_ThisIndex _HMG_ThisFormName _HMG_ThisControlName + переменные контрола _HMG_aControl...

mshep: Да уже закачал свежее, все здесь пошло теперь, спасибо. Зато фички в старой программе начались: Раньше для Excel работало oEx:Cells(rc,1):SET( 'NumberFormat', '#####0') , теперь приходится: oEx:Cells(rc,1):NumberFormat := '#####0' Для ворда раньше работало для таблицы oRow:Cells[05]:Font:Bold := .T. , теперь – Error WINOLE/1009 Метод не экспортирован: FONT (DOS Error -2147352570 Called from TOLEAUTO:FONT(0) <BR> Called from OT33_WORD(159) in module: ot33_word.prg Чего еще ждать?? (((

Dima: mshep пишет: Чего еще ждать?? ((( хз

Haz: mshep пишет: Чего еще ждать?? ((( Не так многого. К примеру присвоение пустой даты заканчивается вылетом. Может еще чего по мелочи, уже не помню. Это не такая уж большая плата за замену усторевшей и более не поддерживаемой библиотеки, на обновляемую из поставки харбура.

mshep: Ну да..... Exeшники тоже на 7-8 процентов в размере подросли..... Какой-нибудь добрый человек бросит еще дедешке назначение цвета фона, Bold'а и проч для ячейки в таблице Word по-новому? Haz пишет: присвоение пустой даты заканчивается вылетом Это в смысле Dt = CTOD(Space(8)) типа?



полная версия страницы