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

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


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


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

Выпуск № 244
от 27.04.2003, 09:00

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 729
Отправлено ответов: 1614
Активность: 221.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

baldr
Статус: Профессиональный
Общий рейтинг: 112.58
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Avl2k
Статус: Опытный
Общий рейтинг: 123.8
[Подробней >>]
Yuri Gordienko
Статус: Опытный
Общий рейтинг: 115.45
[Подробней >>]
 
Ramzes
Статус: Опытный
Общий рейтинг: 129.45
URL: :))
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 722. Здравствуйте, эксперты ! Во многих диалоговых окнах присутствует кнопка 'More'. После ее нажатия диа... (ответов: 2)
Вопрос № 723. Hello all! Я уже задавал этот вопрос "экспертам" рассылки C++. Надеюсь эта попытка будет б... (ответов: 1)
Вопрос № 724. Привет усем.. у кого может быть есть кака дока по ole automation оссобенно по екселю? киньте на мыло... (ответов: 2)

Вопросов: 3, ответов: 5


 Вопрос № 722

Здравствуйте, эксперты !
Во многих диалоговых окнах присутствует кнопка 'More'.
После ее нажатия диалог увеличивается, как будто к нему
стыкуют еще одну панель. Повторное нажатие приводит к
исходному состоянию диалога. Как это реализовать программно ? Использую VC++ c MFC.



Вопрос отправлен: 23.04.2003, 13:23
Отправитель: IceWINteR (brothers@atnet.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Добрый день, IceWINteR!
Avl2k прав, дополню лишь, что надо не забыть запретить прием фокуса этими контролами, а то можно будет по табулятору перейти в скрытые элементы.

Ответ отправлен: 23.04.2003, 16:16
Отправитель: baldr


Отвечает Avl2k

Здравствуйте, IceWINteR!
Наиболее простой способ - нарисовать диалог со всеми контролами, а затем обработчике кнопки в зависимости от режима (More/Less) изменять высоту диалога (с помощью MoveWindow или SetWindowPos) таким образом, чтобы дополнительные контролы были видны или нет.
С уважением, Avl2k.

Ответ отправлен: 23.04.2003, 13:48
Отправитель: Avl2k


 Вопрос № 723

Hello all!
Я уже задавал этот вопрос "экспертам" рассылки C++. Надеюсь эта попытка будет более результативной.
Дело в том, что Стандарт говорит, что функция
void f1()
{
}
может бросать любые исключения, функция
void f2() throw()
{}
не может бросать никаких исключений, а функция
void f3() throw(int, char*)
{
}
может бросать только исключенияя типов int и double.
ВНИМАНИЕ, вопрос!
Знает ли кто-нибудь из людей, именующих себя экспертами, компилятор, который не скомпилировал бы следующий код, мотивируя это тем, что может возникнуть исключение, которое останется необработанным?
void f1 () throw(int)
{
throw int(13);
}
void f2 () throw()
{
f1();
}
если никто не знает, то дайте хотя бы ссылку на какой-нибудь ресурс, на котором подобная информация имеется.



Вопрос отправлен: 23.04.2003, 22:15
Отправитель: Antonio (antonio@vorona.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает Yuri Gordienko

Приветствую Вас, Antonio!
Ну и наезд. Еще и слово "экспертами" в кавычках... Хотелось бы напомнить, что експерты ничего тебе не должны, поэтому могут просто игнорировать вопрос.
Теперь по вопросу:
Таких компиляторов нет, т.к. код полностью корректен,
почему компилятор должен контролировать,- обрабатываете вы или не обрабатываете исключения? В стандарте сказано, что необработанное исключение приводит к завершению программы(т.е. нет неопределенных ситуаций), поэтому отслеживать подобные случаи нет смысла.

Успехов


Ответ отправлен: 24.04.2003, 12:22
Отправитель: Yuri Gordienko


 Вопрос № 724

Привет усем..
у кого может быть есть кака дока по ole automation оссобенно по екселю? киньте на мыло пжалуйста
заранее благодарен



Вопрос отправлен: 24.04.2003, 01:15
Отправитель: Painbringer (zajchik@beep.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Ramzes

Добрый день, Painbringer!
В MSDN ОЧЕНЬ подробно написано про OLE Automation и об Excel-e тоже НЕМАЛО !!!


Ответ отправлен: 24.04.2003, 14:40
Отправитель: Ramzes


Отвечает Avl2k

Приветствую Вас, Painbringer!
Никакой особой документации не нужно.
1. Создаем C++-обертку с помощью директивы #import excel9.olb (цифра может отличаться, сам файл обычно лежит в директории офиса c:\Program Files\Microsoft Office\Office);
2. Создаем экземпляр нужного объекта Excel (см. в примере).
3. Вызываем нужные методы, аналогичные методам в макросах (документация по VBA входит в офис).
Пример (VC++ 6.0):
#import "C:\Program Files\Microsoft Office\Office\MSO9.DLL"
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\Program Files\Microsoft Office\Office\Excel9.olb" rename("ExitWindows", "XlExitWindows") rename("DialogBox", "XlDialogBox") rename("RGB", "XlRGB") no_dual_interfaces
using namespace Excel;
#include <iostream>
using namespace std;
void main()
{
HRESULT hr = ::CoInitialize( NULL );
if( FAILED( hr ) )
return;
{
_WorksheetPtr sheet;
hr = sheet.CreateInstance( L"Excel.Sheet" );

if( SUCCEEDED( hr ) )
{
_ApplicationPtr app = sheet->Application;
app->Visible = true;
try
{
app->ActiveCell->FormulaR1C1 = (long)123;
}
catch( const _com_error& e )
{
cout << "exception: " << e.ErrorMessage() << endl;
}
}
}
::CoUninitialize(); // !!! после освобождения всех объектов
}
С уважением, Avl2k.

Ответ отправлен: 24.04.2003, 14:00
Отправитель: Avl2k



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (36)
C / C++ (28)
Perl (7)
Delphi (13)
Pascal (23)
Basic / VBA (8)
Java / JavaScript (10)
PHP (3)
MySQL / MSSQL (3)
Пользователю
Windows 95/98/Me (28)
Windows NT/2000/XP (22)
"Железо" (23)
Поиск информации (11)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (10)
Юристу
Гражданское право (8)
Семейное право (5)
Трудовое право (5)
КоАП (5)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное