Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Посылка сообщений...   Найти похожие ветки 

 
Andrew   (2004-06-07 14:55) [0]

Доброго всем дня.
Столкнулся со следующей проблемой.
Имеем ShellListView. При нажатии Backspace мы переходим на уровень файловой систему выше. Захотел добавить отдельную кнопку, чтобы она делала то же самое. Встроенный функций и свойств не нашел. Изменять rootfolder не хотелось (лениво было). Вообщем подумал  -  ведь какое-то сообщение посылается, может мне тоже послать. Дописал код, чтобы можно было сообщение перехватывать (переопределил Application.onMessage). Теперь вижу что посылается сообщение WM_KEYDOWN с параметром 8 (бекспейс соответственно). А теперь вопрос. А кому оно посылается и возможно ли влезть в эту цепочку? Потому что насколько я понимаю если я это пошлю ShellListView то он это проигнорит (точнее  - оно ему будет непонятно, если оно не прописано в OnKeyPress и т.д.). Так как как раз сообшение посылается из него, а не ему.

Объясните процесс...если не сложно


 
KSergey ©   (2004-06-07 15:03) [1]

Кому посылается - см. Msg.hwnd
Хотя по идее - посылается активному окну, коим вроде как и является ShellListView.

точнее  - оно ему будет непонятно, если оно не прописано в OnKeyPress

Это от чего же?


 
Andrew   (2004-06-07 15:13) [2]

точнее  - оно ему будет непонятно, если оно не прописано в OnKeyPress

Я пишу SendMessage(ShellListView.Handle, WM_KEYDOWN,8,0);

Смотрим куда все идет.

В OnMessage мы не попадаем(почему - я не понимаю)

Попадаем в TForm1.onKeyPress и в OnKeyDown. Там он пробегает, но не задерживается, так как его в if и case там нету.

А вот теперь я задумался, может его надо форме посылать?


 
Andrew   (2004-06-07 15:21) [3]

Ничего пока не понял

Сляпал новое приложение только с одной кнопкой и шеллиствью

 SendMessage(ShellListView1.Handle, WM_Keydown, 8,0);

и все работает.

Так что пойду домой разбираться...


 
KSergey ©   (2004-06-07 15:23) [4]

> Я пишу SendMessage(ShellListView.Handle, WM_KEYDOWN,8,0);
> В OnMessage мы не попадаем

Т.е. SendMessage - это по сути прямой вызов ф-ции окна, мимо очереди сообщений
Через PostMessage - попало бы.


 
Gia   (2004-06-10 08:30) [5]

Posadi "Button" na forme i v obrabotchike "OnClick" napishi

ShellListView1.Back



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
14-1089014841
Паниковский
2004-07-05 12:07
2004.07.25
Помогите курсовая горит!


6-1085586234
Алексей
2004-05-26 19:43
2004.07.25
Письмо с вложением


14-1088926731
Dan
2004-07-04 11:38
2004.07.25
Как заставить Delphi инсталлиться только для одного юзера


14-1089230273
KilkennyCat
2004-07-07 23:57
2004.07.25
А комментарии в "Фотоприколах" кто-нить модерирует?


14-1088754425
AlexG
2004-07-02 11:47
2004.07.25
Установка Delphi без установки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский