1. Использую в диалоге (DialogBoxParamA) ListView. Можно ли с помощью мыши менять элементы списка местами?
2. В том же самом окне создано меню, но есть желание прицепить к нему accelerators. LoadAccelerators срабатывает, но программа на них не реагирует. Вся документация стыдливо замалчивает этот вопрос. Не хочется лезть в дебри SoftIce'а для его решения, maybe кто-то сталкивался.
3. Не по теме, но подскажите, куда кинуть вопрос: считываю текстовку и создаю из нее html-файл, однако tab'ы и пробелы (в исходном тексте) игнорируются. Как это решить проще всего?
Здравствуйте, Dymasty, Вы писали:
D>1. Использую в диалоге (DialogBoxParamA) ListView. Можно ли с помощью мыши менять элементы списка местами?
Что значит "с помощью мыши"? Ты имеешь в виду drag'n'drop?
Тогда алгоритм примерно такой:
1. Заводим какой-нить флажок, типа is_dragging, изначально false.
1. В
WM_MOUSEMOVE смотрим, нажата ли кнопка мыши (парамеир nFlags). Ежели нажата, и is_dragging == false, то запоминаем индекс элемента под курсосром (
ListView_HitTest) и ставим is_dragging = true;
2. Далее, в
WM_LBUTTONUP (и/или в
WM_RBUTTONUP), смотрим, is_dragging == true? Ежели да, то смотрим индекс элемента под курсором, и меняем его местами с запомненным ранее (
ListView_DeleteItem +
ListView_InsertItem)
и ставим is_dragging == false.
По вкусу, можно добавить отрисовку таскаемых элементов. См., например, Image List Control, там езть специальные для етого ф-и.
Ежели таскать нужно между окнами, тогда смотри
RegisterDragDrop,
DoDragDrop и иже с ними. Хотя их можно и в одном окне юзать, но стоит ли овчинка выделки...
D>2. В том же самом окне создано меню, но есть желание прицепить к нему accelerators. LoadAccelerators срабатывает, но программа на них не
TranslateAccelerator делаешь?
D>реагирует. Вся документация стыдливо замалчивает этот вопрос. Не хочется лезть в дебри SoftIce'а для его решения, maybe кто-то сталкивался.
Ну, SoftIce думаю черезчур, хотя, конечно, кому-что...
D>3. Не по теме, но подскажите, куда кинуть вопрос: считываю текстовку и создаю из нее html-файл, однако tab'ы и пробелы (в исходном тексте) D>игнорируются. Как это решить проще всего?
Считывать и создавать. А tab'ы и пробелы — это смотря как считывешь. ReadFile в подобном поведение замечен не был.
Здравствуйте, Dymasty, Вы писали:
D>2. В том же самом окне создано меню, но есть желание прицепить к нему accelerators. LoadAccelerators срабатывает, но программа на них не реагирует. Вся документация стыдливо замалчивает этот вопрос. Не хочется лезть в дебри SoftIce'а для его решения, maybe кто-то сталкивался.
Об использовании accelerators в модальных диалогах —
Q108936
Hello, Dymasty!
You wrote on Tue, 06 May 2003 10:42:04 GMT:
D> 3. Не по теме, но подскажите, куда кинуть вопрос: считываю текстовку и
D> создаю из нее html-файл, однако tab'ы и пробелы (в исходном тексте)
D> игнорируются. Как это решить проще всего?
Пробелы надо бы замещать на " ", а вот с tab'ами придецца подумать ...
Можно их конвертить в несколько "пробелов", а можно и кодом записать (" ", что ли %) ...
Posted via RSDN NNTP Server 1.5 beta
Здравствуйте, Patalog, Вы писали:
P>Тогда алгоритм примерно такой:
P>1. Заводим какой-нить флажок, типа is_dragging, изначально false.
Спасибо, нечто подобное и предполагал, буду копать
D>2. В том же самом окне создано меню, но есть желание прицепить к нему accelerators. LoadAccelerators срабатывает, но программа на них не
P>TranslateAccelerator делаешь?
если верить
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q108936, то не помогает, тем более эта функция используется в цикле обработки сообщений для окна, а не для диалога.
P>Ну, SoftIce думаю черезчур, хотя, конечно, кому-что...
Нет, Айс иногда сильно помогает.
Здравствуйте, .h, Вы писали:
D>2. В том же самом окне создано меню, но есть желание прицепить к нему accelerators.
.h>Об использовании accelerators в модальных диалогах — Q108936
Спасибо, что разочаровал

Хотя радует, что вопрос решился.