Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание приложения 
:(
    Опции темы
Винт891
Дата 2.2.2006, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



-------------------Configuration: studex - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/studex.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
studex.exe - 2 error(s), 0 warning(s)

вот что VC++ 6.0 выдает на предложение build

вот 3 файла (в книге написано что этого достаточно) для приложения...
что делать?
пробовал скачивать исходники, но при билдинге выдает схожие ошибки, однако при готовых файлах проектах(вроде .dsp) нормально создает exe-шник... может тоже надо сначала его сделать?(как?)
Добавлено @ 16:05
Мои действия:
- написал studex.cpp
- откомпилировал
- написал studex.rc, studex.dex
- добавил их в проект
- build studex.exe
// в коде ошибок нет
PM MAIL   Вверх
Винт891
Дата 2.2.2006, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



оказывается я консольное приложение делал))

Возник еще один вопрос!
У меня есть эллипс, на него надо наложить растровый рисунок, но так, чтобы он динамически изменялся с последующими деформациями, движением, наклонами...
Как это лучше всего реализовать? причем только средствами windows.h? очень надо...
PM MAIL   Вверх
Fin
Дата 3.2.2006, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 1
Всего: 10



Если только средствами WinAPI. Попробуй поработать с регионами.


--------------------
Пролетал мимо.
PM MAIL   Вверх
Винт891
Дата 3.2.2006, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Fin
может книгу какую посоветуешь?.. у меня есть две книги по комп. графики но там ничего про регионы нету((
PM MAIL   Вверх
sergejzr
Дата 4.2.2006, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Модератор: Винт891, предупреждение вам устное за использование оконеномативной лексики в названии темы
(я уже подредактировал)


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Винт891
Дата 5.2.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



progrish
ты что-то хотел написать?))

парни, нужна помощь!..

вот например есть
Код

void DrawStudyExample(HWND hWnd)
{
    int centerx,centery,radius,x,y;
    double pi=3.159265358979;double x2,y2;
    centerx=200;x2=y2=0;
    centery=150;radius=120;
    HDC hdc,hdcWin;
    HBITMAP hBitmap;
    HPEN hpen,hpenOld;
    hdcWin=GetDC(hWnd);
    hdc=CreateCompatibleDC(hdcWin);
    hBitmap=CreateCompatibleBitmap(hdcWin, 400, 300);
    SelectObject(hdc,hBitmap);
    //if (hdc)
        Rectangle(hdc, -1, -1, 401, 301);
        //Ellipse(hdc, 30, 20, 370, 180);
        x=centerx;y=centery;
        for (int size=0;size<=3600;size++)
        {
            y=(int)(size/360);
            hpen=CreatePen(1,1,RGB(10*y,0,0));
            hpenOld=(HPEN)SelectObject(hdc,hpen);
            x=size%360;
            x2=centerx+radius*cos(size*pi/180);
            y2=centery+radius*sin(size*pi/180);
            MoveToEx(hdc,centerx,centery,NULL);
            LineTo(hdc,(int)x2, (int)y2);
            //x=(int)x2;y=(int)y2;
            BitBlt(hdcWin,0,0,400,300,hdc,0,0,SRCCOPY);
        }

    DeleteDC(hdc);
    DeleteObject(hBitmap);
    ReleaseDC(hWnd,hdcWin);
    SelectObject(hdc,hpenOld);
    DeleteObject(hpen);
}


надо "натянуть" на нее картинку... все вроде что надо подключено...
sergej.z больше не буду smile
PM MAIL   Вверх
Fin
Дата 5.2.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 1
Всего: 10



Цитата(Винт891 @ 3.2.2006, 22:33 Найти цитируемый пост)

Fin
может книгу какую посоветуешь?.. у меня есть две книги по комп. графики но там ничего про регионы нету((

Это надо не по компьютерной графике книжку брать, а по WinAPI. Которая у меня есть, она 1996 года, и ты врядли ее уже найдеш. Могу бросить ссылку на статью в инете, там правда под дельфи, но думаю понять проблем не должно возникнуть. http://x77.pisem.net/art/regions/regions.htm
Добавлено @ 16:31
Код

        for (int size=0;size<=3600;size++)
        {
            y=(int)(size/360);
            hpen=CreatePen(1,1,RGB(10*y,0,0));
            hpenOld=(HPEN)SelectObject(hdc,hpen);
            x=size%360;
            x2=centerx+radius*cos(size*pi/180);
            y2=centery+radius*sin(size*pi/180);
            MoveToEx(hdc,centerx,centery,NULL);
            LineTo(hdc,(int)x2, (int)y2);
            //x=(int)x2;y=(int)y2;
            BitBlt(hdcWin,0,0,400,300,hdc,0,0,SRCCOPY);
        }

Тут логическая ошибка с тяжелыми последствиями. Ты в цикле все время создаеш карандаши, но при этом не уничтожаеш старый экземпляр. Если этот код будет стоять в WM_PAINT, то возможны сбои системы. Обшее количество объектов контекста рисования, которые можно открыть, хоть и велико, но не безгранично. Второе, зачем в цикле бросать один и тот же рисунок и в один и тот же регион.
Твой код с карандашами можно написать так:
Код

        hpenOld=(HPEN)SelectObject(hdc,CreatePen(1,1,RGB(0,0,0)));
        BitBlt(hdcWin,0,0,400,300,hdc,0,0,SRCCOPY);
        for (int size=0;size<=3600;size++)
        {
            y=(int)(size/360);
            x=size%360;
            DeleteObject(SelectObject(hdc,CreatePen(1,1,RGB(10*y,0,0))));
            x2=centerx+radius*cos(size*pi/180);
            y2=centery+radius*sin(size*pi/180);
            MoveToEx(hdc,centerx,centery,NULL);
            LineTo(hdc,(int)x2, (int)y2);
            //x=(int)x2;y=(int)y2;
            
        }
        DeleteObject(SelectObject(hdc,hpenOld));


Это сообщение отредактировал(а) Fin - 5.2.2006, 16:34


--------------------
Пролетал мимо.
PM MAIL   Вверх
Винт891
Дата 5.2.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Fin
да это эксперименты для перегрузки... кстати ты не знаешь синтаксис времени с Си, наподобие delay в паскале а то такими способами как-то некрасиво делается smile да и не под каждую машину))
PM MAIL   Вверх
Fin
Дата 5.2.2006, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 1
Всего: 10



Есть WinAPI Функция
Цитата

VOID Sleep(

    DWORD dwMilliseconds  // sleep time in milliseconds
  );

Описание в MSDN
Усыпляет поток на dwMilliseconds миллисекунд. Если поставить 0, то произойдет передача управления следуюшему потоку с таким же приоритетом, если в очереди выполнения не окажется таких потоков, то твой поток обратно получит управление.


--------------------
Пролетал мимо.
PM MAIL   Вверх
secado
Дата 6.2.2006, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 5.2.2006

Репутация: нет
Всего: 3



Единственная книжка, которую я нашел во всем Inet, подробно объясняющая работу с графикой на WinAPI (и оченб толково объясняющая!!) - Юань "Программирование графики для Windows" на www.natahaus.ru.
PM MAIL   Вверх
Винт891
Дата 8.2.2006, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 2.2.2006

Репутация: нет
Всего: нет



Код

HBRUSH hBrush, hBrushOld;

WORD wbits[]={0xFF,0x0C,0x0C,0x0C,0xFF,0xC0,0xC0,0xC0};h

Bitmap1=CreateBitmap(8,8,1,1,(LPVOID)wbits);

hBrush=CreatePatternBrush(hBitmap1);

hBrushOld=(HBRUSH)SelectObject(hdc,hBrush);


это кисть из текстуры "кирпича" создается, но мне надо чтобы можно было вставить любую картинку и чтобы потом можно было это зафиксировать и двигать-наклонять по-всякому, а кисть всегда одинаково закрашивает...
то есть надо надо натянуть картинку на геом. фигуру и потом как-то это зафиксировать, чтобы попиксельно менять коор-ты при каждой операции...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0594 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.