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

Вниз

Переопределение процедур меню другой программы   Найти похожие ветки 

 
Elen ©   (2006-05-19 15:52) [0]

Этот вопрос уже был задан на ветке НАЧИНАЮЩИХ, но думаю уместнее сюда его задать

Господа! Задача следующая : Есть стороннее приложение (AutoCAD, Word... иже с ними). В их меню присутствуют пункты СОХРАНИТЬ и СОХРАНИТЬ КАК. При их вызове выполняется стандартная процедура сохранения файла, но наши юзеры дают при сохранении имена какие угодно. Это мне не нравится, т.к. затрудняет поиск файлов
Например файл "ПРОРАБОТКИ.doc" называют скажем "046екорв.doc" (лишь бы сохранило). В дальнейшем чтобы найти файл с нужным содержимим приходится просматривать горы мусора.

Возникла идея, нельзя ли переопределить процедуры менюшек, дабы заставить пользователя своей программой правильно сформировать имя файла (Скажем с помощью карточки нарисованной мной в делфи).

Например документ содержит деталь из узла 123000, обозначение детали 123987, наименование - ПЛАНКА.
Надо сформировать имя - 123000_123987_ПЛАНКА.doc и сохранить уже с этим именем.

Заранее спасибо

P.S. Или подскажите другие методы


 
Сергей М. ©   (2006-05-19 16:08) [1]

Теоретически можно.

Практически - даже и не берись за эту задачу, ибо решается она совершенно с другой стороны - административным способом.


 
Elen ©   (2006-05-19 16:19) [2]

Сергей Админспособы уже рассматривались, и есть трудности организационного характера.
А даже ради интереса все-таки как?


 
Сергей М. ©   (2006-05-19 16:27) [3]


> все-таки как?


В принципе возможно, но стоит это немало.

Понимаешь о чем я ?


 
Elen ©   (2006-05-19 16:36) [4]

Ну что-ж приятно было пообщаться


 
GrayFace ©   (2006-05-19 17:00) [5]

Надо проверять правильность названия или генерировать его?


 
n0name   (2006-05-19 18:39) [6]

Переопределить можно.


 
Elen ©   (2006-05-22 07:59) [7]


> Переопределить можно.

Как?


 
Elen ©   (2006-05-22 08:20) [8]


>GrayFace ©  (19.05.06 17:00) [5]

Надо проверять правильность названия или генерировать его?


Генерировать


 
n0name   (2006-05-22 11:42) [9]


> Как?

Изменяешь адрес оконной процедуры для нужного окна на свой с помощью SetWindowLong.
Причём твоя WndProc должна быть в адресном пространстве целевого процесса.


 
Elen ©   (2006-05-22 12:22) [10]

Это для окна, а для менюшки?


 
n0name   (2006-05-22 13:42) [11]

Ну а в обработчике отлавливай сообщении о нажатии правой клавиши мышки.


 
GrayFace ©   (2006-05-22 18:02) [12]

А можно вообще не выводить диалог сохранения. Но лучше просто вставить нужный текст в Edit. А дальше пока и не надо идти - если изначально будет предлагаться правильное имя, да еще под страхом страшной расплаты, уж не будут наверное выдумывать свое.
Пока что самое сложное - сгенерировать имя.
Дальше:
Поставить хук на GetMessage
Дальше действовать по обстановке: если приходит WM_CREATE, то все делать при его получении, иначе, например, при WM_SHOWWINDOW.
Еще возможна проблема с наличием дргих диалогов сохранения, например, Export.


 
Elen ©   (2006-05-23 08:39) [13]


> GrayFace ©
Пока что самое сложное - сгенерировать имя.

Сгенерировать как раз несложно. Дело в том, что на предприятии имеется база данных спецификаций документов (чертежей), в которой очень строго по ГОСТ заполняются поля ОБОЗНАЧЕНИЕ, НАИМЕНОВАНИЕ и т.д., которые и составляют требуемое имя. Т.о. сделав клиентское приложения для связи БД и чертежа можно легко сформировать требуемое имя. Кроме того, в штампе чертежа (AutoCAD, Компас ) имется таже штамповая информация. и мы ее легко выдираем, занося в текстовые поля и БД. Но даже при этом подьзователь может сохранить файл где угодно и как угодно. 100% согласны, что нужен комбинированный подход, использование БД+Административные меры, но хотелось бы узнать, нет ли дополнительных возможностей ужесточить контроль.


 
balepa ©   (2006-05-23 08:56) [14]


> Elen ©   (23.05.06 08:39) [13]

"Административные меры" надо принимать тем более если есть ГОСТы по которым составляются "имена", а то потом и чертить будут не то и не так.


 
Elen ©   (2006-05-23 09:03) [15]

Благодарим всех за посильную помощь в решении вопроса. Согласны,как сказано выше, что требуется комбинированный подход, использование БД+Административные меры Буде биться дальше.
Тема закрыта



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

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

Наверх




Память: 0.48 MB
Время: 0.063 c
3-1153429633
TiFFolk
2006-07-21 01:07
2006.09.24
Ошибка: нехватка памяти+переодически падающий бде админ


3-1153728761
Opilki_Inside
2006-07-24 12:12
2006.09.24
Вопрос о использовании TZUpdateSQL из пакета ZeosDBO


15-1156880116
Gero
2006-08-29 23:35
2006.09.24
Халява существует!


2-1157539322
Serjio77
2006-09-06 14:42
2006.09.24
Поиск и замена символа в строке содержащей n символов


1-1155282476
Zilog_
2006-08-11 11:47
2006.09.24
Ребята помогите разобраться с переводом с С++ в Делфи





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский