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

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


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

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

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

Выпуск № 142
от 04.07.2005, 00:50

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


Вопрос № 22728: Hi! Я программирую с использованием MFC. И никак не могу понять, как изменять текст static. Вот например, есть приложение, т.е. форма, на которой находится кнопка и этот статический текст. При нажатии на кнопку текст меняется со static на button. Как...
Вопрос № 22731: Здравствуйте, уважаемые эксперты. В MFC есть элемент управления Picture Control. Каким образом в нём можно менять изображения, например, при нажатии на кнопку. Картинки находятся в ресурсах....
Вопрос № 22733: Здраствуйте!!! Подскажите мне какой-нибудь очень,ну прям очень очень хороший,понятный,полный учебничек по Си-и-и!!!Или по Си+и+и! А также хто из них лучше? C vs C++ !!! ...
Вопрос № 22789: Следуюший код (см. приложение) вызывает такую ошибку: error C2065: 'LPACTIVEDESKTOP' : undeclared identifier хотя файл shlobj.h включён в проект. В чём может быть дело? P.S. MS Visual Studio.NET 2003...
Вопрос № 22810: Доброе врямя суток, уважаимые К сожелению нет рассылки ко C# думаю вам ближе к этой тебе чем другим. Вопрос такой: дайте уважаимые какой небудь пример сохранения в файл дерева списков, на худой конец просто сохранения дерева на данном языке п...
Вопрос № 22811: Здравстуйте эксперты. Каким образом в Visual C++ 6.0 можно работать с внешними объектами(по другому не могу выразиться). Вот например, есть у программы CuteFTP свои SDK т.е. можно из Visual Basic Script с ним взаимоедйствовать закачивать фай...

Вопрос № 22.728
Hi! Я программирую с использованием MFC. И никак не могу понять, как изменять текст static. Вот например, есть приложение, т.е. форма, на которой находится кнопка и этот статический текст. При нажатии на кнопку текст меняется со static на button. Как это сделать?
Отправлен: 27.06.2005, 18:06
Вопрос задал: SerJ1 (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: vitya
Здравствуйте, SerJ1!
Дайте статическому полю идентификатор отличный от дефолтного и тогда можно будет делать GetDlgItem и SetWindowText
Ответ отправил: vitya (статус: Профессор)
Отправлен: 27.06.2005, 18:34
Оценка за ответ: 5

Отвечает: Jadd
Здравствуйте, SerJ1!
Да примерно так же, как и в окне. Т.к. Static - это CStatic и наследник CWnd, то имеем следующий код:

CWnd *pWnd = GetDlgItem(IDC_STATIC);

if (pWnd != NULL)
{
pWnd->SetWindowText("Some Message");
}

Удачи.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 28.06.2005, 11:37


Вопрос № 22.731
Здравствуйте, уважаемые эксперты. В MFC есть элемент управления Picture Control. Каким образом в нём можно менять изображения, например, при нажатии на кнопку. Картинки находятся в ресурсах.
Отправлен: 27.06.2005, 19:13
Вопрос задал: SerJ1 (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Jadd
Здравствуйте, SerJ1!
насколько я понял, речь идет о контроле Picture. Так вот. Этот контрол есть ни что иное, как CStatic. Этот класс - прямой потомок CWnd. А значит загрузить туда картинку можно только путем отрисовки картинки в ректе этого контрола. Т.е.

CWnd *pImage = this->GetDlgItem(IDS_STATIC1); //получаем указатель на контрол
CRect rct(0, 0, 0, 0);
pImage->GetClientRect(rct); //получаем рект этого контрола

CDC *pDC = pImage->GetDC(); //получаем контекст
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);

CBitmap bitmap;
CBitmap *pOldBmp;

bitmap.LoadBitmap(IDR_MYBITMAP); //грузим картинку из ресурса

pOldBmp = MemDC.SelectObject(&bitmap); //закидываем в контекст
pDC->BitBlt(rct.Left, rct.Top, rct.Right, rct.Bottom, &MemDC, 0, 0, SRCCOPY); //рисуем на контроле

//чистим ресурсы
MemDC.SelectObject(pOldBmp);
bitmap.DeleteObject();

Примерно так. Проще унаследовать от этого контрола и позволить этому контролу самому загружать и отрисовывать картинку. Есть еще класс CImage. Почитай в MSDN про него, если не разберешься, пиши, помогу примером.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 28.06.2005, 11:31


Вопрос № 22.733
Здраствуйте!!!
Подскажите мне какой-нибудь очень,ну прям очень очень хороший,понятный,полный учебничек по Си-и-и!!!Или по Си+и+и! А также хто из них лучше? C vs C++ !!!
Отправлен: 27.06.2005, 20:44
Вопрос задал: chikanok (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: yatagan
Здравствуйте, chikanok!
такого учебничка не существует :) к сожалению... надо заиметь много учебничков, штучек так 5-7... для полного счастья. или найти хорошего Учителя, такого себе гуру :) такие Учителя - редкость, поэтому в общем случае придется учится самому...

насчет С/С++, то я лично не разделяю мнения, что эти два языка нечто противоположное... если не вдаваться в подробности, то С является подмножеством С++. в данном случае, дело не в языках, а в стилях программирования. С -- это "воплощение" процедурного стиля, а С++ - обьектно-ориентированого. отсюда извечный спор почитателей обеих языков по поводу "кто круче"

книжками по С, я особо не интересовался, разве что книжка авторов языка - Б. Керниган, Д. Ритчи Язык программирования Си.

книги по С++:
выбор книженций зависит от твоего уровня: если ты тока начинаешь, то -- Стенли Липпман Основы программирования на С++. если ты ее уже успешно прочитал или общался с языком больше чем пол-года, то -- Бьерн Страуструп Язык программирования C++. 3-е издание. Специальное издание.

еще могу посоветовать шикарную книжку -- Г. Шилдт Справочник программиста С/С++ -- моя любимая, никогда ее со стола не убираю, она очень компактная, маленькая и одновременно содержит в себе описания ВСЕХ встроеных функций.

и еще загляни сюда: http://anatolix.naumen.ru/oldsite/books.htm
---------
Україна понад усе!
Ответ отправил: yatagan (статус: 2-ой класс)
Отправлен: 27.06.2005, 23:54

Отвечает: Tsechoev Bagaudin
Здравствуйте, chikanok!
http://www.ingush.com/files/Develop/docs/cpp/lipman.zip

---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 6-ой класс)
Отправлен: 27.06.2005, 23:57

Отвечает: Jadd
Здравствуйте, chikanok!
Вопрос кто из них лучше из разряда кто лучше: твой папа или ты? Как можно сравнивать одно и тоже. С++ является расширением С. Я до сих пор вижу программы на С. Бредовый вопрос. Изучать язык нужно начинать с С, а затем перейти на ООП (т.е. С++). Книги по С читай Кернигана и Ритчи (по-моему, она так и называется "Язык программирования Си"), а по С++ читай книгу Страуструпа (не помню как называется). Все эти авторы - создатели языка. Когда разберешься с самим языком, то можно уже читать книги по "высшему пилотажу" на Си.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 28.06.2005, 10:24


Вопрос № 22.789
Следуюший код (см. приложение) вызывает такую ошибку:

error C2065: 'LPACTIVEDESKTOP' : undeclared identifier
хотя файл shlobj.h включён в проект.
В чём может быть дело?

P.S. MS Visual Studio.NET 2003

Приложение:

Отправлен: 28.06.2005, 17:19
Вопрос задал: Алексей Белоусов (статус: 1-ый класс)
Всего ответов отправлено: 1

Отвечает: Jadd
Здравствуйте, Алексей Белоусов!
Да, это известная проблема. В MSDN даже была статья на этот счет. Решением может быть включение файла Wininet.h в хэдер Stdafx.h. Вот так это должно выглядеть:

#include
#include

Надеюсь, что помог.

---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Студент)
Отправлен: 28.06.2005, 23:02
Оценка за ответ: 5
Комментарий оценки:
Ты мужчина!!!


Вопрос № 22.810
Доброе врямя суток, уважаимые
К сожелению нет рассылки ко C# думаю вам ближе к этой тебе чем другим.
Вопрос такой: дайте уважаимые какой небудь пример сохранения в файл дерева списков, на худой конец просто сохранения дерева на данном языке програмирования. Ну очень нужно, ну если и на C# ничего нет давайте на том чем есть...
Отправлен: 28.06.2005, 23:07
Вопрос задал: Ivanitskiy Oleg Romanovych (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Tsechoev Bagaudin
Здравствуйте, Ivanitskiy Oleg Romanovych!
У компонента на C# такого метода нет. В Delphi это делается просто: TreeView1.SaveToFile('c: reenodes.txt');
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 6-ой класс)
Отправлен: 29.06.2005, 09:39


Вопрос № 22.811
Здравстуйте эксперты.

Каким образом в Visual C++ 6.0 можно работать с внешними объектами(по другому не могу выразиться). Вот например, есть у программы CuteFTP свои SDK т.е. можно из Visual Basic Script с ним взаимоедйствовать закачивать файлы и тд. Также можно и из 1С управлять закачкой файлов посредством СоздатьОбъект("CuteFTPPro.TEConnection"). Вот вопрос есть ли аналоги у Visual C++ таким вещам:
VBS:
Set MySite = CreateObject("CuteFTPPro.TEConnection")
1С:
муОб = СоздатьОбъект("CuteFTPPro.TEConnection")

как это вообще называтеся COM,DCOM или как? Вообще прошу просвятите в этом вопросе, кидайте все что есть по этой теме, ссылки, исходники, описания, доки и т.д. Буду очень благодрен вам!
Отправлен: 28.06.2005, 23:09
Вопрос задал: gvozdok (статус: 5-ый класс)
Всего ответов отправлено: 1

Отвечает: Tsechoev Bagaudin
Здравствуйте, gvozdok!
Это может быть COM, DCOM, OLE но если ты хочешь получить доступ к интерфейсам и методам такого объекта, ты по меньшей мере должен иметь на руках их описание или какой другой справочный материал. А сама работа с этим компонентными моделями неплохо описана на http://www.rsdn.ru/ в разделе статьи.
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 6-ой класс)
Отправлен: 29.06.2005, 09:49


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

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

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

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

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


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


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

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться
Вспомнить пароль

В избранное