Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 94
от 19.04.2005, 17:32

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 7


Вопрос № 19703: Здравствуйте! По поводу вопроса №18935 (о тулбаре). Премного благодарен эксперту Raptor1. Тулбар появился. В связи с этим вопрос: как назначить ему событие нажатия на кнопку? Потому как те, которые я создал в редактооре не работают. И ещё - он почему...
Вопрос № 19706: Здравствуйте. Как мне сделать так, чтобы при открытии файла с помощью CFileDialog были видны только файлы с определённым расширением? И, plz, киньте мне на мыло (seregaxp90@mail.ru) какой-нить хороший справочник по WinAPI (размером не более 1 мет...
Вопрос № 19709: здрасьти! вот копался вчера в /usr/include и видел вот такое: #define __const const а теперь внимание вопрос: (бооооооом.....) ну зачем?! заранее спасибо...

Вопрос № 19703
Здравствуйте! По поводу вопроса №18935 (о тулбаре). Премного благодарен эксперту Raptor1. Тулбар появился. В связи с этим вопрос: как назначить ему событие нажатия на кнопку? Потому как те, которые я создал в редактооре не работают. И ещё - он почему-то рабоает в режиме переключателя... в справке я не нашёл флага, отвечающего за это. Как сделать его обычным? (там всего 2 кнопки пока что).
Отправлен: 14.04.2005, 14:36
Вопрос задал: Казаров Виталий (статус: 1-ый класс)
Всего ответов отправлено: 1

Отвечает: Raptor1
Здравствуйте, Казаров Виталий!
Как я понял у тебя обычное MFC приложение основанное на диалоге. Открой свой тулбар в окне редактора VC и два раза нажми левую кнопку мыши удерживая ctrl над интересующей кнопкой тулбара. В появившемся окне диалога выбери существующий класс диалога после чего добавь обработчик для кнопки тулбара стандартным методом в ClassWizadr (Add Function). А насчет переключателя я что то не понял, стиль radio устанавливается SetRadio в обработчике ON_UPDATE_COMMAND_UI,
может ты просто хочешь сделать flat-toolbar тогда используй вместо Create
CreateEx(this,TBSTYLE_FLAT,WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP)
Ответ отправил: Raptor1 (статус: 3-ий класс)
Отправлен: 15.04.2005, 23:09
Оценка за ответ: 4
Комментарий оценки:
Да! Работает!
А насчёт flat - нет, я же говорю - он работает в режиме radio, т.е. кнопочка западает когда я её нажимиаю, а надо чтобы была просто кнопка.


Вопрос № 19706
Здравствуйте. Как мне сделать так, чтобы при открытии файла с помощью CFileDialog были видны только файлы с определённым расширением?
И, plz, киньте мне на мыло (seregaxp90@mail.ru) какой-нить хороший справочник по WinAPI (размером не более 1 метра).
Отправлен: 14.04.2005, 15:00
Вопрос задал: SerJ1 (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Bob Johnson
Здравствуйте, SerJ1!
Увеличь размер ящика и я скину тебе MSDN
При создании объекта CFileDialog есть параметр lpszFilter - вот там задается фильтр в сл. формате:
static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";

* EMan2.0: ---===*** Debug mode ***===---

Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 15.04.2005, 00:17

Отвечает: gvozdok
Здравствуйте, SerJ1!
вот пример, думаю разберешся.
CFileDialog dlg(TRUE,"bmp CString str, path, name, title;
str = "Pictures (*.bmp;*.jpg)";
str+=(TCHAR)NULL;
str+="*.bmp;*jpg";
str+=(TCHAR)NULL;
dlg.m_ofn.nFilterIndex =0;
dlg.m_ofn.lpstrFilter = str;
int rez = dlg.DoModal();
Ответ отправил: gvozdok (статус: 5-ый класс)
Отправлен: 15.04.2005, 14:52

Отвечает: Raptor1
Здравствуйте, SerJ1!
За это отвечает параметр конструктора CFileDialog lpszFilter, задать его можно так
For example, Microsoft Excel permits users to open files with extensions .XLC (chart) or .XLS (worksheet), among others. The filter for Excel could be written as:
static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";
Конструктор
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
И разорись на MSDN, если собираешься серьезно заниматься программированием под Win, лучше справочника с примерами не найдешь
Ответ отправил: Raptor1 (статус: 3-ий класс)
Отправлен: 15.04.2005, 23:09
Оценка за ответ: 5


Вопрос № 19709
здрасьти!
вот копался вчера в /usr/include
и видел вот такое:
#define __const const
а теперь внимание вопрос: (бооооооом.....)
ну зачем?!
заранее спасибо
Отправлен: 14.04.2005, 15:35
Вопрос задал: ОчХочуНаучиться (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: DSota
Здравствуйте, ОчХочуНаучиться!
Для совместимости с программами для других с-компиляторов... Чтобы переписывать текст не нужно было...
Ответ отправил: DSota (статус: Студент)
Отправлен: 14.04.2005, 15:52

Отвечает: Voituk Alexander
Здравствуйте, ОчХочуНаучиться!
Очевидно это сделано для приведения различных диалектов языка к стандартному.
Просто как правило каждый компилятор добавляет свои примочки к языку.
Ответ отправил: Voituk Alexander (статус: 7-ой класс)
Отправлен: 14.04.2005, 16:14

Отвечает: Bob Johnson
Здравствуйте, ОчХочуНаучиться!
- Что это, Берримор?
- Линукс, сэр!

* EMan2.0: ---===*** Debug mode ***===---

Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 15.04.2005, 00:15


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться

В избранное