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



Пост N: 1
Зарегистрирован: 12.02.08
ссылка на сообщение  Отправлено: 12.02.08 15:40. Заголовок: MiniGUI-Browse- поиск по букве


Извините меня, но очень нужна помощь. С Clipperr-ом работаю давно, в Mini - нет и года. Начальству ну очень нужно поиск в прайс-листе по протому нажатию любой русской буквы. Не долго мудрствуя,
определил все клавиши и, в частности русские _DefineHotKey ( , 0 , 192 , {|| poisk(chr(192))} ) // буква "А" и т.д. В Browse все цифры и латинские буквы проходят, а русские - никакой реакции. А начальству вынь да полож.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 43 , стр: 1 2 3 All [только новые]





Пост N: 119
Зарегистрирован: 11.07.05
ссылка на сообщение  Отправлено: 18.02.08 13:26. Заголовок: спасибо, КСС, запуст..


спасибо, КСС, запустился пример! маленькое замечание: переключение на другую раскладку ([ctrl]+[shift]) добавляется в строку поиска
примером интересуюсь просто так, посмотреть на minigui

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



Пост N: 18
Зарегистрирован: 12.02.08
ссылка на сообщение  Отправлено: 18.02.08 14:06. Заголовок: В общем, решил все-..


В общем, решил все-таки выложить свой, хоть и корявый, но более компактный и абсолютно без глюков:
Function MyEvents ( hWnd, nMsg, wParam, lParam )

Local i, x, cFormName := "", cControlName := ""

if nMsg == WM_NOTIFY

IF GetNotifyCode ( lParam ) == LVN_KEYDOWN
i := Ascan( _HMG_aFormHandles , hWnd )
cFormName := if( i > 0, _HMG_aFormNames[ i ], "" )
i := Ascan( _HMG_aControlHandles, GetHwndFrom( lParam ) )
cControlName := if( i > 0, _HMG_aControlNames[ i ], "" )

if cFormName == "Window_1" .and. cControlName == "Browse_1"
ppp( GetGridvKey( lparam ),hWnd, nMsg, wParam, lParam )
else
Events ( hWnd, nMsg, wParam, lParam )
endif
else
Events ( hWnd, nMsg, wParam, lParam )
endif

else
Events ( hWnd, nMsg, wParam, lParam )

endif
Return (0)

procedure ppp(vparam,hWnd, nMsg, wParam, lParam)
local ch := '', ch1:=0
local i
local perkod1[74] // массив кодов русских букв
local perkod2[74] // массмв кодов клавиш
perkod1[1]:=48
perkod1[2]:=49 // а дальше просто топором и кувалдой
perkod1[3]:=50
perkod1[4]:=51 // первые 10 - цифры
perkod1[5]:=52
perkod1[6]:=53
perkod1[7]:=54
perkod1[8]:=55
perkod1[9]:=56
perkod1[10]:=57
perkod1[11]:=233 // далее идут русские буквы, сначала маленькие, потом заглавные, но не по алфавиту, по клавиатуре -
perkod1[12]:=246 // слева->направо, сверху-> вниз
perkod1[13]:=243
perkod1[14]:=234
perkod1[15]:=229
perkod1[16]:=237
perkod1[17]:=227
perkod1[18]:=248
perkod1[19]:=249
perkod1[20]:=231
perkod1[21]:=245
perkod1[22]:=250
perkod1[23]:=244
perkod1[24]:=251
perkod1[25]:=226
perkod1[26]:=224
perkod1[27]:=239
perkod1[28]:=240
perkod1[29]:=238
perkod1[30]:=235
perkod1[31]:=228
perkod1[32]:=230
perkod1[33]:=253
perkod1[34]:=255
perkod1[35]:=247
perkod1[36]:=241
perkod1[37]:=236
perkod1[38]:=232
perkod1[39]:=242
perkod1[40]:=252
perkod1[41]:=225
perkod1[42]:=254
perkod1[43]:=201
perkod1[44]:=214
perkod1[45]:=211
perkod1[46]:=202
perkod1[47]:=197
perkod1[48]:=205
perkod1[49]:=195
perkod1[50]:=216
perkod1[51]:=217
perkod1[52]:=199
perkod1[53]:=213
perkod1[54]:=216
perkod1[55]:=212
perkod1[56]:=219
perkod1[57]:=194
perkod1[58]:=192
perkod1[59]:=207
perkod1[60]:=208
perkod1[61]:=206
perkod1[62]:=203
perkod1[63]:=176
perkod1[64]:=198
perkod1[65]:=221
perkod1[66]:=223
perkod1[67]:=215
perkod1[68]:=209
perkod1[69]:=204
perkod1[70]:=200
perkod1[71]:=210
perkod1[72]:=220
perkod1[73]:=193
perkod1[74]:=222

perkod2[1]:=48
perkod2[2]:=49
perkod2[3]:=50
perkod2[4]:=51
perkod2[5]:=52
perkod2[6]:=53
perkod2[7]:=54
perkod2[8]:=55
perkod2[9]:=56
perkod2[10]:=57
perkod2[11]:=81
perkod2[12]:=87
perkod2[13]:=69
perkod2[14]:=82
perkod2[15]:=84
perkod2[16]:=89
perkod2[17]:=85
perkod2[18]:=73
perkod2[19]:=79
perkod2[20]:=80
perkod2[21]:=219
perkod2[22]:=221
perkod2[23]:=65
perkod2[24]:=83
perkod2[25]:=68
perkod2[26]:=70
perkod2[27]:=71
perkod2[28]:=72
perkod2[29]:=74
perkod2[30]:=75
perkod2[31]:=76
perkod2[32]:=186
perkod2[33]:=222
perkod2[34]:=90
perkod2[35]:=88
perkod2[36]:=67
perkod2[37]:=86
perkod2[38]:=66
perkod2[39]:=78
perkod2[40]:=77
perkod2[41]:=188
perkod2[42]:=190
perkod2[43]:=81
perkod2[44]:=87
perkod2[45]:=69
perkod2[46]:=82
perkod2[47]:=84
perkod2[48]:=89
perkod2[49]:=85
perkod2[50]:=73
perkod2[51]:=79
perkod2[52]:=80
perkod2[53]:=219
perkod2[54]:=221
perkod2[55]:=65
perkod2[56]:=83
perkod2[57]:=68
perkod2[58]:=70
perkod2[59]:=71
perkod2[60]:=72
perkod2[61]:=74
perkod2[62]:=75
perkod2[63]:=76
perkod2[64]:=86
perkod2[65]:=222
perkod2[66]:=90
perkod2[67]:=88
perkod2[68]:=67
perkod2[69]:=86
perkod2[70]:=66
perkod2[71]:=78
perkod2[72]:=77
perkod2[73]:=188
perkod2[74]:=190


if GetKeyboardMode() == 1033
if chr(vparam) $ "1234567890QWERTYUIOPASDFGHJKLZXCVBNM"
MyPoisk(chr(vparam ))
else
Events ( hWnd, nMsg, wParam, lParam )
endif
elseif GetKeyboardMode() == 1049
ch := chr( ToAsciiEx(vparam) )
ch1:=ToAsciiEx(vparam)
if ch $ "1234567890йцукенгшщзхъывапролджэяфчсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ"
if ascan(perkod2,vparam)>0
if ascan(perkod1,ch1)=ascan(perkod2,vparam) // вот тут и исчезают глюки
MyPoisk(ch)
else
Events ( hWnd, nMsg, wParam, lParam )
endif
else
Events ( hWnd, nMsg, wParam, lParam )
endif
else
Events ( hWnd, nMsg, wParam, lParam )
endif
endif

return

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



Пост N: 34
Зарегистрирован: 04.12.07
ссылка на сообщение  Отправлено: 19.02.08 08:26. Заголовок: _Sergey пишет: однак..


_Sergey пишет:

 цитата:
однако, сколько версий minigui в интернете!


Только две версии - MiniGUI Роберто Лопеса (и команды) и
MiniGUI-Ext - это в определённый момент ответвившийся
проект, который сопровождает, на сколько я знаю, Григорий
Филатов (и команда), который здесь часто бывает

А то, что функциональные клавиши порождают код совпадающий
с кодом алфавита и заголовки колонок BROWSE прыгают при смене
их заголовков я писал в начале, как о имеющемся недостатке.
Вот Valery2 вроде бы нашел решение, но оно не очень красивое
Я надеялся, что разработчики помогут нам красиво "расковырять" этот
виртуальный код нажатой клавиши. Если нет - будем сами, кто как сможет
Прыгающие заголовки колонок BROWSE надеюсь разработчики поправят.

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

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