· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Акселераторы :-?

<< . 1 . 2 .

Посл.отвђт Сообщенiе


Дата: Авг 31, 2003 17:48:54

А что вы скажитеKiNDeR на ЭТО?
----------
В обычном приложении добавить горячие клавиши (акселераторы) достаточно просто. Для этого нужно проделать три действия:

1. Загрузить таблицу акселераторов с помощью LoadAccelerators.
2. Внедрить в цикл сообщений вызов функции TranslateAccelerator, которая преобразует сообщения WM_KEYDOWN и WM_SYSKEYDOWN в WM_COMMAND и WM_SYSCOMMAND.
3. Уничтожить таблицу акселераторов вызовом DestroyAcceleratorTable, когда она будет больше не нужна.
------------
цитата из RSDN.RU


Дата: Сен 1, 2003 04:11:53

Sergey

В MSDN про WM_COMMAND написанно следующее:
wParam
The high-order word specifies the notification code if the message is from a control. If the message is from an accelerator, this value is 1. If the message is from a menu, this value is zero.
The low-order word specifies the identifier of the menu item, control, or accelerator.

После того как я заменил в обработчике сообщений mov eax,[wParam] на movzx eax,word [wParam] у меня все заработало.


All
А кто нибудь знает как наиболее простым способом сделать так, чтобы диалоговое окно пересылало сообщения от акселераторов родительскому окну? Диалоговое окно создается функцией CreateDialogParam. Проблемма в том, что сообщения попадают не диалоговому окну, а кнопке на нем.


Дата: Сен 1, 2003 16:51:40

Sergey
другая то прога работает??
А ее увидеть можно? Залей мне ее.


Дата: Сен 1, 2003 21:40:35

Black_mirror
Блин!.. я знаю что где--то уже писали где можно скачать MSDN, но исать ......? Киньти линк на MSDN сюда, если не сложно, или линк на страницу в форуме?? плиззз. только тот линк дайте, чтобы можно было скачать это MSDN весььь!
KiNDeR
ужо выслал! :)


Дата: Сен 1, 2003 21:45:02

Sergey
Скачал, сейчас буду разбираться...


Дата: Сен 4, 2003 00:06:52

Sergey
Онлайновая версия MSDN есть на сайте микрософта, только пользоваться им не удобно. Я использую MSDN 2000, который поставляется пиратами на трех дисках. Возможно есть и более новые версии.

Но вообще я хотел сказать, что в старшем слове wParam будет единица если сообщение пришло от акселератора, и ноль - если от меню. То есть, если от меню приходит WM_COMMAND с wParam равным ID_ITEM, то от акселератора придет WM_COMMAND с wParam равным ID_ITEM+10000h. ID_ITEM - идентификатор какого либо пункта меню.


Дата: Сен 5, 2003 17:34:18

KiNDeR
ну как там дела? У меня еще вопрос возник насчет контуров при нажатии на кнопки!? как зделать, чтобы их небыло! какое св-во прописывать?? и напомни про левый эдит ну чтобы так курсор не ставился только по английскиИ!


Дата: Сен 5, 2003 20:02:32 · Поправил: KiNDeR

Sergey
Black_mirror дал нормальное решение проблемы.
Это все работает.
Про твой едит. Сделай его не активным тоесть добавь свойство Disabled. Ты каким редактором ресурсов пользуешся? Есть старый едитор WorkShop из делфей вырвать можно. Там все наглядно. Попробуй его...


Дата: Сен 15, 2003 11:13:15

<b>KiNDeR</b>
Каким я редактором пользуюсь?? :))) блокнотом :)) а ты каким ?? скажите а WorkShop ом, что можно ресурсы клипать ???


Дата: Сен 15, 2003 13:56:51

Sergey
а WorkShop ом, что можно ресурсы клипать ???
Да можно, он раньше здесь лежал, но его кудато дели...


Дата: Сен 16, 2003 16:19:56

KiNDeR

так этот воркшоп и некий хекс воркшоп это не одно и тоже!!??

Black_mirror дал нормальное решение проблемы.


После того как я заменил в обработчике сообщений mov eax,[wParam] на movzx eax,word [wParam] у меня все заработало.


ты имеешь ввиду это вообщение???


Дата: Сен 16, 2003 16:27:55 · Поправил: KiNDeR

Sergey
Нет, дай мыло еще разок, я тебе вышлю

Про решение: да, это сообщение


Дата: Сен 17, 2003 10:11:23

KiNDeR
вот мыло!! creatorspdriver@rbcmail.ru заранее спасибо!
Про решение: попробуем!! :) я уже все кнопки в нем сделал только +,-,=,*,/ осталось! Вообщем самое трудное!
Слушай я сделал окно куда символы выводятся с параметром static - оно соответственно стало серым, а можно его теперь перекрасить как-нить??(насчет Disable где именно его прописывать?? в ресурсах что-ли? а где именно, там где свойства контрола указывают??

<< . 1 . 2 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.086