NME

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AkulaBig на самом деле, самое сложное - это нарисовать кнопку, т.к. там еще и с альфа-каналом заморачиваться надо, чтоб нормально отображалось.. а кода там 1,5-2 десятка строк отсилы.. добавить в resource.h новый ID*, например Код: #define ID_CHANGE_LANG 33160 | добавить эту кнопку на панель в WinDjView.rc.. но, для начала я бы не добавлял новую кнопку, а изменил действие какой-нибудь существующей, например, поменял бы Код: на Код: проделать те же операции с языковыми файлами в папке Languages.. SetLanguage(..) находится в файлах WinDjView.h+cpp, так что вписываем в *.h Код: afx_msg void OnChangeLanguage(); afx_msg void OnUpdateChangeLanguage(CCmdUI *pCmdUI); | а в .*cpp Код: ON_COMMAND(ID_CHANGE_LANG, OnChangeLanguage) ON_UPDATE_COMMAND_UI(ID_CHANGE_LANG, OnUpdateChangeLanguage) | осталось создать Код: void CDjViewApp::OnChangeLanguage() { получить текущий индекс языка, увеличить на 1; проверить, если новый индекс превышает общее количество, обнулить его; SetLanguage(индекс); } | и Код: void CDjViewApp::OnUpdateChangeLanguage(CCmdUI* pCmdUI) { pCmdUI->Enable(количество языков больше 1); } | думаю так должно получиться.. потом уже, когда удастся решить вторую проблему с поиском текста, можно будет и за графику новой кнопки взяться)) Добавлено: если нужна не смена языка, а его выбор, то будет немного сложнее, т.к. для этого придется создавать новое окно.. но, окон в программе много создаётся, есть где посмотреть как это делается и по аналогии сделать своё.. я так "по аналогии" половину своих нововведений сделал, если не больше)) но, учитывая то, что больше 2х языков в программе не будет, думаю без отдельного окна вполне можно обойтись..
|