|
|
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Привет! Проблема следующая - есть datawindow где ни одно из полей не принимает фокус ввода (taborder = 0), а в pbm_dwnkey производятся некоторые действия, типа if keyflag = 2 and key = KeyA! then of_selectall() . При этом, мне не совсем понятно как отреагировать на нажатие клавиши, приведшее к "вводу", скажем, буквы 'ы'? Замапил wm_keyup и wm_keydown. Смотрю на message.wordparm по совету Филиппа. Он принимает одинаковое значение при нажатии ':' и 'ж' (virtual key code ?). Замапить pbm_char что-то не получилось. Буду благодарен за каждый дельный совет. Версия билдера - 10.4500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 16:37 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
subj следует читать: как в datawindow эмулировать wm_key ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 16:42 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Ни за что не поверю, что никто подобного не преодолевал! Если это FAQ или RTFM, то так и скажите, желательно с direction sign. На самом деле нужна навигация по нередактируемому dw. Нажали 'Ж' - спозиционировались на 'Жмеринка'. Отвечаю на вопрос: "А что вы хотели на самом деле". ;-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 17:55 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Надо просто подумать :-) 1) wm_keydown не нужен вообще 2) Вот мой скрипт в подобном случае: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. list - название колонки в которой поиск ii_last_key (instance variable) - ASCII Value последней нажатой клавиши (после ретрива datawindow он приравнивается к ASCII Value первой буквы колонки list в первом ряду) Это было с PFC, поэтому rowselection кода здесь нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 18:52 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
ФилиппНадо просто подумать :-) 1) wm_keydown не нужен вообще Про pbm_keydown это понятно, и было упомянуто в смысле "пробовал и то и это". Насчёт "подумать"- не совсем понятно. Вопрос был не в том что делать с символом после его получения, а в том, как его правильно получить. Ответа не вижу. Как я уже говорил, pbm_keyup->message.wordparm не меняется при переключении imput language. Он одинаков для S и Ы, например (на русской клавиатуре). Если wm_keydown = pbm_keycode, то это virtual key code. Может надо применить MapVirtualKey? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 19:19 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
авторМожет надо применить MapVirtualKey? Хрен его знает, т-рищ начальник, я только с английским языком работаю :-) Но судя по всему, про Message.WordParm и ASC можно забыть ... Может вообще GetKeyNameText пробовать? Тогда Message.LongParm пригодится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 19:55 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Шутить изволите, батоно Филипп? MSDNGetKeyNameText Function -------------------------------------------------------------------------------- The GetKeyNameText function retrieves a string that represents the name of a key. Syntax int GetKeyNameText( LONG lParam, LPTSTR lpString, int nSize ); Parameters lParam [in] Specifies the second parameter of the keyboard message (such as WM_KEYDOWN) to be processed. The function interprets the following bit positions in the lParam. 16—23 Scan code. 24 Extended-key flag. Distinguishes some keys on an enhanced keyboard. 25 "Don't care" bit. The application calling this function sets this bit to indicate that the function should not distinguish between left and right CTRL and SHIFT keys, for example. lpString [out] Pointer to a buffer that will receive the key name. nSize [in] Specifies the maximum length, in TCHAR, of the key name, including the terminating null character. (This parameter should be equal to the size of the buffer pointed to by the lpString parameter.) Return Value If the function succeeds, a null-terminated string is copied into the specified buffer, and the return value is the length of the string, in TCHAR, not counting the terminating null character. If the function fails, the return value is zero. To get extended error information, call GetLastError. Remarks The format of the key-name string depends on the current keyboard layout. The keyboard driver maintains a list of names in the form of character strings for keys with names longer than a single character. The key name is translated according to the layout of the currently installed keyboard, thus the function may give different results for different input locales. The name of a character key is the character itself. The names of dead keys are spelled out in full. Windows 95/98/Me: GetKeyNameTextW is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 20:01 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Никаких шуток The format of the key-name string depends on the current keyboard layout. The keyboard driver maintains a list of names in the form of character strings for keys with names longer than a single character. The key name is translated according to the layout of the currently installed keyboard, thus the function may give different results for different input locales . The name of a c-h-a-r-a-c-t-e-r key is the c-h-a-r-a-c-t-e-r ITSELF . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2004, 20:53 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
На моем сайте (о котором все уже давно знают :) ) lokshinmark.narod.ru есть библиотека VELM zip. http://lokshinmark.narod.ru/files/velm.zip В ней есть User Object uo_dw_select_list. Посмотрите как там это обрабатываетсям. PS. Что-то я с прошым постом натворил :) To ASCRUS: можно его и удалить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 11:42 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Локшин МаркPS. Что-то я с прошым постом натворил :) To ASCRUS: можно его и удалить... Хоть я и не ASCRUS, но ... Удалено, в общем. --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:10 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Локшин МаркНа моем сайте (о котором все уже давно знают :) ) lokshinmark.narod.ru есть библиотека VELM zip. http://lokshinmark.narod.ru/files/velm.zip В ней есть User Object uo_dw_select_list. Посмотрите как там это обрабатываетсям. PS. Что-то я с прошым постом натворил :) To ASCRUS: можно его и удалить... Исходя из На моем сайте (о котором все уже давно знают :) ) всё-таки RTFM ... :-)) BTW, а что за сообщение 1349 (0x545) WM_USER+0x145 вы обрабатываете other? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:43 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
А может пойти типа "умный в гору не пойдёт" и засандалить SLE? /topic/51539&hl= http://www.justpbinfo.com/pbtips/dwscrollsearch.asp http://www.justpbinfo.com/pbtips/dwscrollsearch2.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 17:14 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Muchas gracias, estimado Don Филипп! Про гору вы абсолютно правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 17:53 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
NewOneПро гору вы абсолютно правы. Ну не знаю, не знаю. Первоначально у меня поиск был примерно как в database painter'е при выборе таблиц устроен, но пользователи путались, и пришлось поиск переписывать. Так был добавлен вывод того, что печатается. Потом еще добавились кнопки для задания направления поиска. Мне кажется, что у меня, как минимум, не хуже. Но, наверное, кому как нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 11:32 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
2Марк Про гору, это в более общем сысле Марк, не принимайте на свой счёт. BTW, Вы ничего не ответили про сообщение, которое обрабатываете в other. Его десятичный номер 1349. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 15:19 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
NewOneBTW, Вы ничего не ответили про сообщение, которое обрабатываете в other. Его десятичный номер 1349. Нашел экспериментально :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 15:41 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
У меня например, даже не SLE, а datawindow userobject сделано, оно совмещает фильтрацию с поиском и просто шлепается на окна/таб страницы, где надо, выглядит так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 20:29 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
Сделано с datawindow в основном ради "подсказки" а-ля Windows - "Type to search by description...". Dataobject имеет колонку description, её intial value - "Type to search by description...", и ещё 2 (или более) колонки - ="from_date", ="to_date"... Instance variables: Код: plaintext 1. 2. 3. 4. Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 20:45 |
|
||
|
Как wm_char в в datawindow
|
|||
|---|---|---|---|
|
#18+
У меня этот поиск используется только для DataWindow специального типа - для множественного выбора из списка. Весь функционал сосредоточен внутри одного объекта, шлепнул его на форму, связал между собой (при необходимости зависимого выбора) и прописал скрипт на Retrieve. Сделано, так, чтобы было покомпактнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2004, 21:57 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=32696605&tid=1338871]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 495ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...