Автор | Сообщение |
|
| |
Пост 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
|
|
|
Ответов - 289
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 3095
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.03.20 08:37. Заголовок: PS Базы в utf-8, про..
PS Базы в utf-8, программа в 1251 hb сам будет делать перекодировку
|
|
|
|
| постоянный участник
|
Пост 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") }
|
|
|
|
| |
Пост N: 237
Зарегистрирован: 05.11.05
|
|
Отправлено: 23.03.20 09:40. Заголовок: SergKis пишет: Нет...
SergKis пишет: цитата: | Нет. Треугольники - это зашитые в hmg bmp, можете вместо ни исп. свои варианты bmp. |
| Но ведь в UTF-8 есть и просто треугольники. ▼▽ Их-то можно в текст вставлять?
|
|
|
|
| |
Пост N: 238
Зарегистрирован: 05.11.05
|
|
Отправлено: 23.03.20 09:45. Заголовок: SergKis пишет: Базы..
SergKis пишет: цитата: | Базы в utf-8, программа в 1251 hb сам будет делать перекодировку |
| Кстати, мне это не очень нравится, я бы перекодировал сам. В базах у меня есть разные поля, и utf-8 и win-1251. SergKis пишет: цитата: | Если у вас только русский |
| В интерфейсе пока да, но в перспективе возможны разные языки. А в базах у меня что угодно.
|
|
|
|
| постоянный участник
|
Пост N: 3097
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.03.20 10:22. Заголовок: rvu пишет В интерфей..
rvu пишет цитата: | В интерфейсе пока да, но в перспективе возможны разные языки. А в базах у меня что угодно. |
| Не забывайте HMG Ext. не уникодная и в одном контроле (font) разные языки не прокатят
|
|
|
|
| постоянный участник
|
Пост N: 3098
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.03.20 10:29. Заголовок: rvu пишет Их-то можн..
rvu пишет цитата: | Их-то можно в текст вставлять? |
| Вставлять можете только те символы, которые есть в используемом фонте контрола. Т.е. используя кодировку RU866 в контролах, можете исп. символы треугольников и вставлять в текст.
|
|
|
|
| |
Пост N: 239
Зарегистрирован: 05.11.05
|
|
Отправлено: 23.03.20 10:39. Заголовок: SergKis пишет: Не з..
SergKis пишет: цитата: | Не забывайте HMG Ext. не уникодная и в одном контроле (font) разные языки не прокатят |
| Т.е. для каждого элемента свой font? Для которого его возможно задавать. Это, если я правильно ваш ответ понял. И, есть ли здесь ограничения по поддержке фонтов. Или не всякий язык вообще можно использовать?
|
|
|
|
| постоянный участник
|
Пост 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 используете их по имени в контролах по конкретному языку и данные в контрол даете в нужной языковой кодировке
|
|
|
|
| |
Пост N: 240
Зарегистрирован: 05.11.05
|
|
Отправлено: 23.03.20 13:44. Заголовок: SergKis пишет: 2а ..
|
|
|
|
| постоянный участник
|
Пост N: 3100
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.03.20 14:10. Заголовок: Это 2а фонта контрол..
Это 2а фонта контролу не назначить
|
|
|
|
| |
Пост N: 241
Зарегистрирован: 05.11.05
|
|
Отправлено: 01.04.20 07:25. Заголовок: Очередные вопросы на..
Очередные вопросы накопились: Нажимаю F1, появляется "Почему не удается получить справку по этой программе? Справка для этой программы была создана в формате справки Windows, который зависит от компонента, не входящего в данную версию Windows...." Как это убрать? Можно ли по F1 сделать вызов своей справки? Наверное, можно, но как? Как вообще можно использовать клавиши F?
|
|
|
|
|
| постоянный участник
|
Пост 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)}) ...
|
|
|
|
| постоянный участник
|
Пост 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 ) ...
|
|
|
|
| |
Пост N: 246
Зарегистрирован: 05.11.05
|
|
Отправлено: 19.04.20 18:22. Заголовок: Есть картинка: @ ..
Есть картинка: @ <nRow> ,<nCol> IMAGE <ControlName> Кликаю, вызываю функцию. Можно ли определить в какое именно место картинки я кликнул?
|
|
|
|
| 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 ) |
|
|
|
|
|
| |
Пост N: 247
Зарегистрирован: 05.11.05
|
|
Отправлено: 20.04.20 07:52. Заголовок: Спасибо!..
Спасибо!
|
|
|
|
| |
Пост N: 252
Зарегистрирован: 05.11.05
|
|
Отправлено: 26.05.20 13:53. Заголовок: А можно в AlertInfo(..
А можно в AlertInfo() убрать иконку? Как костыль могу прописать пустую, тогда ее не видно, но и текст сдвинут некрасиво.
|
|
|
|
| постоянный участник
|
Пост N: 3247
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.05.20 14:04. Заголовок: rvu AlertInfo( &..
rvu AlertInfo( "MessageBox Info", "INFO", , 0 )
|
|
|
|
| |
Пост N: 253
Зарегистрирован: 05.11.05
|
|
Отправлено: 26.05.20 14:18. Заголовок: SergKis пишет: Aler..
SergKis пишет: цитата: | AlertInfo( "MessageBox Info", "INFO", , 0 ) |
| Спасибо! Т.е. nSize к иконке относится. Так сразу и не догадаешься...
|
|
|
|
| постоянный участник
|
Пост N: 3248
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.05.20 15:01. Заголовок: rvu пишет Так сразу ..
rvu пишет цитата: | Так сразу и не догадаешься... |
| 10.05.20 08:59. SergKis пишет цитата: | Предложение по hmg_alert(), AlertInfo() и др. - hmg_alert() значение nIcoSize сделать равным 0, тогда на окне нет DRAW ICO ... - в AlertInfo(), AlertExclamation(), AlertStop() добавить параметр lNoPlay, для отключения звук. сигнала |
| gfilatov2002 пишет
|
|
|
Ответов - 289
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|