Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Открыть новую тему     Написать ответ в эту тему

SergeyZX

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Решил я научиться в Visual Studio создавать оконные приложения. Скачал себе Visual Studio 2005 Express С++. И только после этого обнаружил, странные пояснения к пакету, теперь возникли вопросы по данному пакету:
- есть сама среда IDE, или нет?
- разработку оконных приложений поддерживает, работает с MFC, если ее просто нет в составе, то можно ли загрузить и подключить? Откуда это можно сделать?
- почему в составе нет MASM?
- Что там еще урезано?
 
Вообще я на данный пакет смотрел, как на лицензионную среду разработки для начинающих и учащихся. Но если она до такой степени урезана, то непонятно, как в ней учиться? Если она действительно урезана, что можно найти в качестве замены? Лицензионное есть что-нибудь?

Всего записей: 281 | Зарегистр. 03-05-2003 | Отправлено: 11:35 01-06-2008 | Исправлено: SergeyZX, 11:36 01-06-2008
yar



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну если ты только начал изучать Visual Studio, то скачай уже сразу 2008 версию.
IDE конечно есть
В состав Visual Studio Express Edition не входит MFC это платная вещь так сказать.
Если ты хочешь создавать окннные приложения на "библиотеки выского уровня" в VS, юзай wxWidgets или Qt.
MASM есть но его надо качать отдельно
http://www.microsoft.com/downloads/details.aspx?FamilyId=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en
А вообще в VS EE конечно много чего "почикано".

Всего записей: 19 | Зарегистр. 06-04-2003 | Отправлено: 16:28 01-06-2008 | Исправлено: yar, 16:29 01-06-2008
sysxxx



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
срочно понадобилось программировать на visual c++ 6.0
хочу взять bmp-ку и вывести в picture
 
CBitmap* bitmap = new CBitmap();
bitmap->LoadBitmap("c://bitmap.bmp");
m_Image.SetBitmap((HBITMAP)bitmap);// m_Image - CStatic
 
 не работает .

Всего записей: 138 | Зарегистр. 28-02-2006 | Отправлено: 15:24 15-06-2008
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sysxxx
читайте внимательно МСДН по поводу LoadBitmap. попробуйте так:

Код:
    HANDLE hImage = LoadImage( NULL, _T("c:\\bitmap.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE );
    SetWindowLong( m_image.GetSafeHwnd(), GWL_STYLE, GetWindowLong( m_image.GetSafeHwnd(), GWL_STYLE )|SS_BITMAP );
    m_image.SetBitmap( (HBITMAP)hImage );
    CloseHandle( hImage );

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 16:50 15-06-2008
sysxxx



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
еще вопрос.
создаю и запускаю поток при нажатии на кнопку
// второй поток
UINT Thread(LPVOID pParam)
{
...
HBITMAP hbitmap = IplImage2DIB(Image);
CVcOpenCVDlg::m_Image.SetBitmap(hbitmap); // m_Image - CStatic  
...
}
// нажатие на кнопку
void CVcOpenCVDlg::OnOK()  
{
    HWND hSingle = GetSafeHwnd();
    CWinThread* PWinThread;
    PWinThread = AfxBeginThread(Thread, hSingle, THREAD_PRIORITY_NORMAL, 0, 0 , NULL );
}
 
error C2228: left of '.SetBitmap' must have class/struct/union type
?

Всего записей: 138 | Зарегистр. 28-02-2006 | Отправлено: 15:09 16-06-2008 | Исправлено: sysxxx, 10:41 17-06-2008
yar



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
делай так

Код:
 
UINT Thread(CVcOpenCVDlg *pDialog)  {  
    ...  
    HWND hSingle = pDialog->GetSafeHwnd();  
    HBITMAP hbitmap = IplImage2DIB(Image);  
    pDialog->m_Image->SetBitmap(hbitmap); // m_Image - CStatic public
    ...  
}  
 
// нажатие на кнопку  
void CVcOpenCVDlg::OnOK() {  
    CWinThread* thread = AfxBeginThread(Thread, this, THREAD_PRIORITY_NORMAL, 0, 0 , NULL );  
}
 

 
если надо передавать несколько значений в поток, заведи структуру и передавай её в качестве второго аргумента функции AfxBeginThread(), или если удобнее передай this
 
P.S функция Thread() будет иметь доступ только к статическим мемборам класса

Всего записей: 19 | Зарегистр. 06-04-2003 | Отправлено: 14:43 21-06-2008 | Исправлено: yar, 14:56 21-06-2008
JannLee



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Усть ли версия Visual C++ отвязанная от установки или просто компилятор для С++. Мне нужно програмировать а прав админа нет, установить не могу. Хочу записать компилятор на флешку и носить с собой.

Всего записей: 640 | Зарегистр. 01-07-2004 | Отправлено: 00:54 29-06-2008
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JannLee
компилятор должен работать без установки. Можно взять Microsoft Visual C++ Toolkit 2003 - там компилятор с++ 2003 студии

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 16:44 01-07-2008
JannLee



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiseAlex
Да MVC++ Toolkit 2003 заработал без установки. Вот тут комплект
Класть в папку C:\Program Files\Microsoft Visual C++ Toolkit 2003
Из другой папки может не запускаться. Установка и регист. библиотек в реестре не требуется, только скачать, распаковать и работать.
http://rapidshare.com/files/126392207/Microsof_VisualC__Toolkit2003.zip.html
Ксли ссылка не работате. обращайтесь через личку помогу если будет.


----------
Motion LE1600 VA, Centrino 1.5 Ghz, 1.49 GB RAM, 32 GB SSD, Intel 915GM, WiFi b/g, Windows XP SP3 Tablet PC eng

Всего записей: 640 | Зарегистр. 01-07-2004 | Отправлено: 23:55 01-07-2008
Vinterfresh

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, выручайте. Никто не знает как можно определить список всех доступных шрифтов системы? На делфях все делалось одной строкой, как то же самое провернуть в вижуале не знаю

Всего записей: 11 | Зарегистр. 02-07-2008 | Отправлено: 13:03 07-07-2008
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vinterfresh

Код:
#include "stdafx.h"
#include "afxwin.h"
#include "afxdlgs.h"
#include "iostream.h"
 
int CALLBACK EnumFontFamExProc(
ENUMLOGFONTEX *lpelfe,
NEWTEXTMETRICEX *lpntme,
DWORD FontType,
LPARAM lParam
);
 
void main()
{
HWND hwnd=GetDesktopWindow(); // получить окно
HDC hdc=GetDC(hwnd); // связанный DC
LOGFONT lf;
lf.lfFaceName[0] = '\0';
lf.lfCharSet = DEFAULT_CHARSET; // все шрифты
EnumFontFamiliesEx(hdc,&lf,(FONTENUMPROC)EnumFontFamExProc,
(LPARAM) 0,(DWORD) 0);
ReleaseDC(hwnd,hdc);
}
 
int CALLBACK EnumFontFamExProc(ENUMLOGFONTEX *lpelfe,
NEWTEXTMETRICEX *lpntme,DWORD FontType,LPARAM lParam)
{
cout << lpelfe->elfLogFont.lfFaceName << endl;
return true;
}
 

 
Взято отсюда
А по сути - смотри EnumFontFamiliesEx

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 16:11 07-07-2008
JannLee



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообщем хочу пожаловаться на Visual C++ toolkit 2003. Нет многих библиотек (stdafx.h, afxwin.h, afxdlgs.h). Да и компилирует странно.

Всего записей: 640 | Зарегистр. 01-07-2004 | Отправлено: 18:48 07-07-2008
Vinterfresh

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое спасибо, выручил. Осталось только избавиться от пар ненужных шрифтов и вуаля!

Всего записей: 11 | Зарегистр. 02-07-2008 | Отправлено: 14:52 08-07-2008
Vinterfresh

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, новый трабл. Есть проект, написанный на МFC под диалог с исползованием GDI+. Необходимо переделать его в SDI. Скопировал старые файлы с классами в новый проект, компилирую - получаю кучу ошибок с СString. Например, для куска
 
if(m_pBackground != NULL)
        delete m_pBackground;
m_pBackground = new Bitmap(m_sBackground);
 
выдает  
 
'Gdiplus::Bitmap::Bitmap(const WCHAR *,BOOL)' : cannot convert parameter 1 from 'CString' to 'const WCHAR *'
 Хотя в прошлой версии все работало без сбоев. Никто не подскажет, где я что-то не написал? Может подключил не все?

Всего записей: 11 | Зарегистр. 02-07-2008 | Отправлено: 12:48 14-07-2008
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vinterfresh
Прошлая версия юникодная была, надо полагать?

Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 17:58 14-07-2008
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли в Visual Studio 2008 генерировать код использующий SSSE3 или SSE3 инструкции?

Всего записей: 3774 | Зарегистр. 06-04-2003 | Отправлено: 10:13 15-07-2008
Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
paparazzo
На 2005 СП1 такой код работает и генерирует SSE3 инструкции (взято с MSDN):

Код:
// processor: x86 with SSE3
// Execute the hadd_ps instruction using the intrinsic
// _mm_hadd_ps
 
#include <stdio.h>
#include <intrin.h>
 
#pragma intrinsic ( _mm_hadd_ps )
 
int main( )
{
    __m128 u, v, w;
    __declspec(align(16)) float a[4] = { 0.1, 0.2, 0.3, 0.4 };
    __declspec(align(16)) float b[4] = { 0.0001, 0.002, 0.003, 0.004 };
 
    printf_s("Loading floating-point values\n"
             "%5.3f %5.3f %5.3f %5.3f into XMM register.\n ",
             a[0], a[1], a[2], a[3] );
    u = _mm_load_ps(a);
    printf_s("Loading floating-point values\n"
             "%5.3f %5.3f %5.3f %5.3f into XMM register.\n",
             b[0], b[1], b[2], b[3] );
    v = _mm_load_ps(b);
 
    printf_s("Calling _mm_hadd_ps to modify these values.\n");
    w = _mm_hadd_ps ( u , v);
 
    printf_s("Result: %5.3f %5.3f %5.3f %5.3f\n", w.m128_f32[0],
             w.m128_f32[1], w.m128_f32[2], w.m128_f32[3] );
}

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 16:39 15-07-2008
paparazzo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
На 2005 СП1 такой код работает и генерирует SSE3 инструкции

 
Как-то всё сложно, я не программист...
А в опциях компилятора VS2008 нельзя поставить опцию SSE3 или типо того?
У меня стоит 2005, там только опция SSE2... Не знаю ставить ли VS2008...

Всего записей: 3774 | Зарегистр. 06-04-2003 | Отправлено: 17:11 15-07-2008
Vinterfresh

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Abs62
 
Была. Теперь и новая стала, спасибо. И снова по SDI. Можно ли задать в свойствах проекта или еще где опцию, чтобы при изменении размеров окна View перерисовывалась без предварительного затирания?

Всего записей: 11 | Зарегистр. 02-07-2008 | Отправлено: 14:30 16-07-2008
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vinterfresh
Это вряд ли. Думаю, надо самому ковыряться с обработчиком сообщения WM_ERASEBKGND.

Цитата:
The WM_ERASEBKGND message is sent when the window background must be erased (for example, when a window is resized). The message is sent to prepare an invalidated portion of a window for painting.

Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 18:45 16-07-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru