On-line: krutoff, PSP, SergKis, гостей 3. Всего: 6 [подробнее..]
АвторСообщение
администратор




Пост 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 
ПрофильЦитата Ответить
Ответов - 261 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]





Пост N: 3095
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.20 08:37. Заголовок: PS Базы в utf-8, про..


PS
Базы в utf-8, программа в 1251 hb сам будет делать перекодировку

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



Пост N: 3096
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.20 09:05. Заголовок: PS2 В примере Tsb_Us..


PS2
В примере Tsb_UserKeysEvent line 290 ставим свой вариант bmp
:aSortBmp := { LoadImage("br_up"), LoadImage("br_dn") }

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





Пост N: 237
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 23.03.20 09:40. Заголовок: SergKis пишет: Нет...


SergKis пишет:

 цитата:
Нет. Треугольники - это зашитые в hmg bmp, можете вместо ни исп. свои варианты bmp.



Но ведь в UTF-8 есть и просто треугольники.

▼▽

Их-то можно в текст вставлять?

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





Пост N: 238
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 23.03.20 09:45. Заголовок: SergKis пишет: Базы..


SergKis пишет:

 цитата:
Базы в utf-8, программа в 1251 hb сам будет делать перекодировку



Кстати, мне это не очень нравится, я бы перекодировал сам. В базах у меня есть разные поля, и utf-8 и win-1251.

SergKis пишет:

 цитата:
Если у вас только русский



В интерфейсе пока да, но в перспективе возможны разные языки. А в базах у меня что угодно.

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



Пост N: 3097
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.20 10:22. Заголовок: rvu пишет В интерфей..


rvu пишет
 цитата:
В интерфейсе пока да, но в перспективе возможны разные языки. А в базах у меня что угодно.


Не забывайте HMG Ext. не уникодная и в одном контроле (font) разные языки не прокатят

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



Пост N: 3098
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.20 10:29. Заголовок: rvu пишет Их-то можн..


rvu пишет
 цитата:
Их-то можно в текст вставлять?


Вставлять можете только те символы, которые есть в используемом фонте контрола.
Т.е. используя кодировку RU866 в контролах, можете исп. символы треугольников и вставлять в текст.

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





Пост N: 239
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 23.03.20 10:39. Заголовок: SergKis пишет: Не з..


SergKis пишет:

 цитата:
Не забывайте HMG Ext. не уникодная и в одном контроле (font) разные языки не прокатят



Т.е. для каждого элемента свой font? Для которого его возможно задавать. Это, если я правильно ваш ответ понял.

И, есть ли здесь ограничения по поддержке фонтов. Или не всякий язык вообще можно использовать?

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



Пост N: 3099
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.20 11:06. Заголовок: rvu пишет Т.е. для к..


rvu пишет
 цитата:
Т.е. для каждого элемента свой font? Для которого его возможно задавать. Это, если я правильно ваш ответ понял.


Контрол имеет только один назначенный фонт, к примеру
 
#command @ <row>,<col> LABEL <name> ;
...
[ FONT <fontname> ] ;
[ SIZE <fontsize> ] ;
[ <bold : BOLD> ] ;
[ <italic : ITALIC> ] ;
[ <underline : UNDERLINE> ] ;
[ <strikeout : STRIKEOUT> ] ;
...

т.е. 2а назначить не можете, имеем контрол -> язык.
Для разных языков в фонте исп. charset
 
#command DEFINE FONT <name> ;
FONTNAME <fontname> ;
[ SIZE <fontsize> ] ;
[ <bold : BOLD> ] ;
[ <italic : ITALIC> ] ;
[ <underline : UNDERLINE> ] ;
[ <strikeout : STRIKEOUT> ] ;
[ CHARSET <charset> ] ;

[ ANGLE <Angle> ] ;
[ <default : DEFAULT> ] ;
=> ;
_DefineFont ( ;
<"name">, ;
<fontname>, ;
<fontsize>, ;
<.bold.>, ;
<.italic.>, ;
<.underline.>, ;
<.strikeout.>, ;
<Angle>, ;
<.default.>, ;
<charset> )

Тогда создав для разных языков свои фонты с charset используете их по имени в контролах по конкретному языку и данные в контрол даете в нужной языковой кодировке

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





Пост N: 240
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 23.03.20 13:44. Заголовок: SergKis пишет: 2а ..


SergKis пишет:

 цитата:



Это что?

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



Пост N: 3100
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.03.20 14:10. Заголовок: Это 2а фонта контрол..


Это 2а фонта контролу не назначить

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





Пост N: 241
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 01.04.20 07:25. Заголовок: Очередные вопросы на..


Очередные вопросы накопились:

Нажимаю F1, появляется "Почему не удается получить справку по этой программе?
Справка для этой программы была создана в формате справки Windows, который зависит от компонента, не входящего в данную версию Windows...."

Как это убрать?
Можно ли по F1 сделать вызов своей справки? Наверное, можно, но как? Как вообще можно использовать клавиши F?

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



Пост N: 3103
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.04.20 16:11. Заголовок: rvu пишет Как вообще..


rvu пишет
 цитата:
Как вообще можно использовать клавиши F?


1.
Посмотрите примеры BASIC\ButtnEx_DinamicMenu\*.prg строки такие
 
...
IF ! Empty( aN ) // Define HotKey
IF HB_ISARRAY( aN )
FOR nK := 1 TO Len( aN )
_DefineHotKey( This.Name , 0 , aN[ nK ] , hb_MacroBlock( "_wPost(2, , '"+cN+"')" ) )
NEXT
ELSE
_DefineHotKey( This.Name , 0 , aN , hb_MacroBlock( "_wPost(2, , '"+cN+"')" ) )
ENDIF
ENDIF

nY += nBtnH + nG // Row следующей кнопки

NEXT

ON KEY F10 ACTION _wPost(10)
...
2.
Если на окне TsBrowse то я предпочитаю, клавиши ставить на него и держать тсб всегда в фокусе, при работе с окном, т.к. иногда клавиши по ON KEY ... перехватывает Far, с тсб такого не происходит.
Advanced\Tsb_UserKeysEvent\demo.prg
...
:bLDblClick := {|up1,up2,nfl,obr | up1 := up2 := nfl := Nil, ;
obr:PostMsg( WM_KEYDOWN, obr:nFireKey, 0 ) }
:UserKeys(VK_RETURN , {|obr | obr:PostMsg( WM_KEYDOWN, obr:nFireKey, 0 ) })
:UserKeys(VK_F2 , {|obr,nky,cky| Rec_Addr(obr,nky,cky)})
:UserKeys(VK_F3 , {|obr,nky,cky| Rec_Delr(obr,nky,cky)})
:UserKeys(VK_F5 , {|obr,nky,cky| Rec_Prn1(obr,nky,cky)})
:UserKeys(VK_F6 , {|obr,nky,cky| Rec_Ordn(obr,nky,cky)})
:UserKeys(VK_F7 , {|obr,nky,cky| Rec_Find(obr,nky,cky)})
:UserKeys(VK_F8 , {|obr,nky,cky| Rec_Expo(obr,nky,cky)})
:UserKeys(VK_F9 , {|obr,nky,cky| Set_Mode(obr,nky,cky)})
...


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



Пост N: 3104
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 01.04.20 17:02. Заголовок: PS вариант для F1 ..


PS
вариант для F1
 
:UserKeys(VK_F1 , {|obr,nky,cky| Msg_Keys(obr,nky,cky), .T.})
...
END TBROWSE

ON KEY F1 ACTION oBrw1:PostMsg( WM_KEYDOWN, VK_F1, 0 )
...


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





Пост N: 246
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 19.04.20 18:22. Заголовок: Есть картинка: @ ..


Есть картинка: @ <nRow> ,<nCol> IMAGE <ControlName>
Кликаю, вызываю функцию. Можно ли определить в какое именно место картинки я кликнул?

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




Пост N: 1677
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.04.20 20:01. Заголовок: rvu пишет: определи..


rvu пишет:

 цитата:
определить в какое именно место картинки я кликнул


Лови рабочий пример:

 цитата:
 
#include "MiniGUI.ch"

PROCEDURE Main()

LOCAL nWidth, nHeight

IF GetImageInfo( "logo.jpg", @nWidth, @nHeight )

DEFINE WINDOW Form_1 ;
MAIN ;
CLIENTAREA nWidth, nHeight + 30 ;
TITLE "Test a mouse click on the one picture which is divided into 3 parts (" + __FILE__ + ")"

@ 0,0 IMAGE Img_Logo PICTURE "logo.jpg" WIDTH nWidth HEIGHT nHeight ;
ON MOUSEHOVER RC_CURSOR( "MINIGUI_FINGER" ) ;
ACTION Determine_the_portion_of_the_picture()

END WINDOW

CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1

ENDIF

RETURN

/////////////////////////////////////////////////////////////////////////////
#ifdef __XHARBOUR__
#define ENUMINDEX hb_EnumIndex()
#else
#define ENUMINDEX aPart:__EnumIndex
#endif

PROCEDURE Determine_the_portion_of_the_picture()

STATIC aImage := {}

LOCAL nY, nX, aCoords := GetCursorPos()
LOCAL cMsg, aPart, nLeft, nWidth

IF Empty( aImage )
AADD( aImage, { 0,000,149,200, "Part 1 of a picture" } )
AADD( aImage, { 0,202,149,488, "Part 2 of a picture" } )
AADD( aImage, { 0,693,149,239, "Part 3 of a picture" } )
ENDIF

nY := aCoords[1] - Form_1.Row - GetTitleHeight() - GetBorderHeight()
nX := aCoords[2] - Form_1.Col - GetBorderWidth()

cMsg := "Pos y: " + hb_NtoS( nY ) + " Pos x: " + hb_NtoS( nX )

FOR EACH aPart IN aImage
nLeft := aPart[2]
nWidth := aPart[4]

IF nX > nLeft .AND. nX < nLeft + nWidth
cMsg += CRLF + CRLF + "Area #" + HB_NtoS( ENUMINDEX )
cMsg += CRLF + CRLF + aPart[5]

MsgInfo( cMsg )
ENDIF
NEXT

RETURN

STATIC FUNCTION GetImageInfo( cPicFile, nPicWidth, nPicHeight )

LOCAL aSize := hb_GetImageSize( cPicFile )

nPicWidth := aSize[1]
nPicHeight := aSize[2]

RETURN ( nPicWidth > 0 )



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





Пост N: 247
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 20.04.20 07:52. Заголовок: Спасибо!..


Спасибо!

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





Пост N: 252
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: Вчера 13:53. Заголовок: А можно в AlertInfo(..


А можно в AlertInfo() убрать иконку? Как костыль могу прописать пустую, тогда ее не видно, но и текст сдвинут некрасиво.

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



Пост N: 3247
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: Вчера 14:04. Заголовок: rvu AlertInfo( &..


rvu
AlertInfo( "MessageBox Info", "INFO", , 0 )

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





Пост N: 253
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: Вчера 14:18. Заголовок: SergKis пишет: Aler..


SergKis пишет:

 цитата:
AlertInfo( "MessageBox Info", "INFO", , 0 )



Спасибо! Т.е. nSize к иконке относится. Так сразу и не догадаешься...

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



Пост N: 3248
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: Вчера 15:01. Заголовок: rvu пишет Так сразу ..


rvu пишет
 цитата:
Так сразу и не догадаешься...


10.05.20 08:59. SergKis пишет
 цитата:
Предложение по hmg_alert(), AlertInfo() и др.
- hmg_alert() значение nIcoSize сделать равным 0, тогда на окне нет DRAW ICO ...
- в AlertInfo(), AlertExclamation(), AlertStop() добавить параметр lNoPlay, для отключения звук. сигнала


gfilatov2002 пишет
 цитата:
Все правки приняты



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

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