On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 4905
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.06.15 10:51. Заголовок: Вопросы новичка [MiniGUI]


MAIN окно не получило фокус ввода при запуске , почему ?
Пример самодостаточный.

 
#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



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 218 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]


moderator




Пост N: 1492
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.04.19 11:38. Заголовок: SergKis пишет: доб..


SergKis пишет:

 цитата:
добавить в языковый массив
_HMG_MESSAGE [10] := 'Attention'
_HMG_MESSAGE [11] := 'Information'
_HMG_MESSAGE [12] := 'Stop'
и применить в Msg...(), Hmg_Alert()


Благодарю за подсказку
Сделал

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





Пост N: 185
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 15.11.19 07:45. Заголовок: rvu пишет: SET INTE..


rvu пишет:

 цитата:
SET INTERACTIVECLOSE OFF - у окон CHILD это работает, а у окна MAIN продолжает быть активным, разве что при нажатии на него выдает, что так нельзя закрыть программу.



А как сделать, чтобы вместо стандартного окна Стоп выполнялась моя собственная процедура?

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





Пост N: 187
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 26.11.19 15:48. Заголовок: Такой вопрос: Делаю ..


Такой вопрос:
Делаю LISTBOX, хочу чтобы при нажатии на отдельно стоящую кнопку BUTTON его содержимое менялось. Как это сделать?
Первая мысль была, что-то вроде: SetProperty(ThisWindow.Name, "List_1" , "ITEMS", aList0), но так это не работает.
Дальше мысли вообще менять окно, но как-то это муторно, наверное есть простой способ, который я не нашел.

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


Пост N: 1505
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 26.11.19 16:27. Заголовок: rvu пишет: наверно..


rvu пишет:

 цитата:
наверное есть простой способ, который я не нашел.


Удалить все элементы form_1.ListBox_1.DeleteAllItems и добавить по одному новые form_1.ListBox_1.AddItem( 'new item1' ) ) ... form_1.ListBox_1.AddItem( 'new item2' ) ) ...

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




Пост N: 6521
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.11.19 20:28. Заголовок: rvu пишет: хочу что..


rvu пишет:

 цитата:
хочу чтобы при нажатии на отдельно стоящую кнопку BUTTON его содержимое менялось. Как это сделать?


На кнопку вешаешь вызов:
  ACTION {|| UpdateList2() }

И ставишь готовую функцию свою (в качестве примера считывание файлов по маске):
FUNCTION UpdateList2() 
LOCAL aDimDir, nI, cFile

// Считываю массив DBF-файлов ...
aDimDir := Directory( M->cPubPathTo + "*.dbf" )
aDirTo := {}
IF Len( aDimDir ) > 0
FOR nI := 1 TO Len( aDimDir )
cFile := aDimDir[ nI, 1 ]
AAdd( aDirTo, cFile )
NEXT
ENDIF

FormaMain.List_2.DeleteAllItems()

IF Len(aDirTo)>0
FOR nI:=1 TO Len(aDirTo)
FormaMain.List_2.AddItem(ADirTo[nI])
Next
ENDIF

RETURN Nil


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


Пост N: 1506
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 26.11.19 21:12. Заголовок: Andrey пишет: Forma..


Andrey пишет:

 цитата:
FormaMain.List_2.DeleteAllItems()
IF Len(aDirTo)>0
FOR nI:=1 TO Len(aDirTo)
FormaMain.List_2.AddItem(ADirTo[nI])
Next
ENDIF


Можно проще двумя строчками
 
FormaMain.List_2.DeleteAllItems()
Aeval( aDirTo, { ¦e¦ FormaMain.List_2.AddItem(e)})

Да и всю эту функцию можно в этот Aeval засунуть. Расписывать по действиям конечно нагляднее, но не всегда оптимально.

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




Пост N: 6523
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.11.19 21:29. Заголовок: Haz пишет: Можно пр..


Haz пишет:

 цитата:
Можно проще двумя строчками


Согласен. Это конечно лучше.
Свой код писал ещё в 2016, когда начинал разбираться с МиниГуи.
Только проверку нужно на нулевой массив сделать.

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


Пост N: 1507
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 26.11.19 21:31. Заголовок: Andrey пишет: Тольк..


Andrey пишет:

 цитата:
Только проверку нужно на нулевой массив сделать.

не нужно цикл сам проверит.
Как уже добавил, я бы всю функцию( кроме удаления) в один вызов аевал завернул после отладки логики, но это не критично. Просто в большом проекте объемный код затрудняет понимание в двльнейшем. Так что на любителя

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





Пост N: 188
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 26.11.19 21:57. Заголовок: Спасибо всем откликн..


Спасибо всем откликнувшимся! Заработало.

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





Пост N: 189
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 27.11.19 09:57. Заголовок: Я как-то про UTF8 уж..


Я как-то про UTF8 уже спрашивал. С русским понятно:

gfilatov2002 пишет:

 цитата:
hb_Translate( cText, "UTF8", "CP1251" )



А как всякие знаки показывать? Стрелочки, например?

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




Пост N: 6527
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.11.19 10:04. Заголовок: rvu пишет: А как вс..


rvu пишет:

 цитата:
А как всякие знаки показывать? Стрелочки, например?



Смотри пример MiniGUI\SAMPLES\BASIC\ScreenMode
Там кнопка со значком папки.

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





Пост N: 190
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 27.11.19 11:10. Заголовок: Andrey пишет: Там к..


Andrey пишет:

 цитата:
Там кнопка со значком папки.



Да, все гениальное просто, и UTF даже не нужна.

А дальше хотелось поместить на кнопку надпись со стрелкой. А это разные шрифты. Так можно? Там же фонт сразу для всей кнопки задается.

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




Пост N: 6528
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.11.19 11:36. Заголовок: rvu пишет: А дальше..


rvu пишет:

 цитата:
А дальше хотелось поместить на кнопку надпись со стрелкой. А это разные шрифты. Так можно? Там же фонт сразу для всей кнопки задается.


Я не знаю, можно ли задать 2 шрифта на одной кнопке,
но на кнопке можно задать иконку и текст одновременно.
Это самый простой и лучший вариант.

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





Пост N: 191
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 28.11.19 11:40. Заголовок: Andrey пишет: на кн..


Andrey пишет:

 цитата:
на кнопке можно задать иконку и текст одновременно.
Это самый простой и лучший вариант.



Могут быть проблемы, если пользователю разрешено менять размер шрифта. Собственно, я в сторону UTF8 и смотрел, чтобы можно было писать любые знаки в одной строке не задумываясь о их совместимости.

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




Пост N: 6529
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.11.19 12:00. Заголовок: rvu пишет: Могут бы..


rvu пишет:

 цитата:
Могут быть проблемы, если пользователю разрешено менять размер шрифта.


Задай автоматом максимальный шрифт на кнопках и запрети юзеру это делать.
Как это сделать смотри пример MiniGUI\SAMPLES\BASIC\ButtonEx_DynamicMenu

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





Пост N: 192
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 29.11.19 12:45. Заголовок: Можно ухватить мышко..


Можно ухватить мышкой окно за край и менять его размер. А можно ли соответственно менять LISTBOX? Т.е. чтобы он при расширении окна тоже расширялся или сужался?

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



Пост N: 2970
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.11.19 13:14. Заголовок: rvu пишет А можно ли..


rvu пишет
 цитата:
А можно ли соответственно менять LISTBOX? Т.е. чтобы он при расширении окна тоже расширялся или сужался?


Поищите в примерах ON SIZE, будет много вариантов, к примеру такой BASIC\DirSelect\...
Меняте от размера клиентской части окна размеры ListBox

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





Пост N: 193
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 29.11.19 14:21. Заголовок: SergKis пишет: к пр..


SergKis пишет:

 цитата:
к примеру такой BASIC\DirSelect\...



Здорово!

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

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