Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 11
1

Ссылка на неразрешенный внешний символ

14.12.2013, 20:45. Показов 2579. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ссылка на неразрешенный внешний символ _main в функции ____tmainCRTStartup

В чем проблема??

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
 
/* кол-во строчек */
#define LINES 30
 
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
 
char szClassName[] = "WindowsApp";
 
int WINAPI WinMain(HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
{
    HWND hwnd;
    MSG messages;
    WNDCLASSEX wincl;
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;
    wincl.style = CS_HREDRAW | CS_VREDRAW ;
    wincl.cbSize = sizeof(WNDCLASSEX);
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
    if (!RegisterClassEx(&wincl)) return(0);
 
    hwnd = CreateWindowEx(0,szClassName,"Лабораторная работа",WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL,CW_USEDEFAULT,CW_USEDEFAULT,400,300,NULL,NULL,hThisInstance,NULL);
 
    ShowWindow(hwnd, nFunsterStil);
 
    /* Цикл обработки мессаджей */
    while (GetMessage(&messages, NULL, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }
    return(messages.wParam);
}
 
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static int  cxChar, cxCaps, cyChar, cyClient, cxClient, VscrollPos, HscrollPos;
    int i;
    int j;
 
    char buffer[1024]; //размер буфера для текста ставь побольше если будет много текста
    TEXTMETRIC tm;
 
 
    if (message ==WM_VSCROLL)
    {
            EnableScrollBar(hwnd, false, SB_BOTH);
            EnableScrollBar(hwnd, false, SB_VERT);
    }
    else if (message ==WM_HSCROLL)
    {
            EnableScrollBar(hwnd, false, SB_BOTH);
            EnableScrollBar(hwnd, true, SB_VERT);
    }
    else
    {
            EnableScrollBar(hwnd, false, SB_BOTH);
            EnableScrollBar(hwnd, false, SB_HORZ);
    }
 
    switch (message)
    {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        case WM_CREATE:
            {
            HDC hdc = GetDC(hwnd);
 
            GetTextMetrics(hdc, &tm);
            cxChar = tm.tmAveCharWidth;
            cxCaps = (tm.tmPitchAndFamily & 1 ? 3 : 2) * cxChar / 2;
            cyChar = tm.tmHeight + tm.tmExternalLeading;
 
            ReleaseDC(hwnd, hdc);
 
            SetScrollRange(hwnd, SB_VERT, 0, LINES - 1, FALSE);
            SetScrollPos(hwnd, SB_VERT, VscrollPos, TRUE);
 
            //SetScrollRange(hwnd, SB_HORZ, 0, LINES - 1, FALSE);
            SetScrollPos(hwnd, SB_HORZ, HscrollPos, TRUE);
            }
        case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hwnd, &ps);
 
            i = GetScrollPos(hwnd, SB_VERT);
            j = GetScrollPos(hwnd, SB_HORZ);
            sprintf(buffer,"Здравствуйте! Уже несколько дней мучаюсь с такой проблемой: ");
            TextOut(hdc, cxChar * -j, cyChar * -i, buffer, strlen(buffer));
            i = GetScrollPos(hwnd, SB_VERT) - 1;
            sprintf(buffer,"Нужно создать окно с горизонтальной и вертикальной");
            TextOut(hdc, cxChar * -j, cyChar * -i, buffer, strlen(buffer));
            i = GetScrollPos(hwnd, SB_VERT) - 2;
            sprintf(buffer,"прокруткой. Горизонтальная прокрутка должна блокироваться ");
            TextOut(hdc, cxChar * -j, cyChar * -i, buffer, strlen(buffer));
            i = GetScrollPos(hwnd, SB_VERT) - 3;
            sprintf(buffer,"при нажатии на вертикальную, и наоборот. Я не знаю как");
            TextOut(hdc, cxChar * -j, cyChar * -i, buffer, strlen(buffer));
            i = GetScrollPos(hwnd, SB_VERT) - 4;
            sprintf(buffer,"передать текст в окно.");
            TextOut(hdc, cxChar * -j, cyChar * -i, buffer, strlen(buffer));
 
            EndPaint(hwnd, &ps);
            break;
        }
 
 
        case WM_VSCROLL:
        {
 
            switch (LOWORD(wParam))
            {
                case SB_LINEUP:
                    VscrollPos -= 1;
                    break;
                case SB_LINEDOWN:
                    VscrollPos += 1;
                    break;
                case SB_PAGEUP:
                    VscrollPos -= cyClient / cyChar;
                    break;
                case SB_PAGEDOWN:
                    VscrollPos += cyClient / cyChar;
                    break;
                case SB_THUMBPOSITION:
                    VscrollPos = HIWORD(wParam);
                    break;
                default:
 
                    break;
            }
 
            VscrollPos = max(0, min(VscrollPos, LINES - 1));
 
            if (VscrollPos != GetScrollPos(hwnd, SB_VERT)) {
                SetScrollPos(hwnd, SB_VERT, VscrollPos, TRUE);
                InvalidateRect(hwnd, NULL, TRUE);
            }
 
        case WM_HSCROLL:
        {
            switch (LOWORD(wParam))
            {
                case SB_LINEUP:
                    HscrollPos -= 1;
                    break;
                case SB_LINEDOWN:
                    HscrollPos += 1;
                    break;
                case SB_PAGEUP:
                    HscrollPos -= cxClient / cxChar;
                    break;
                case SB_PAGEDOWN:
                    HscrollPos += cxClient / cxChar;
                    break;
                case SB_THUMBPOSITION:
                    HscrollPos = HIWORD(wParam);
                    break;
                default:
                    
                    break;
            }
        }
 
            if (HscrollPos != GetScrollPos(hwnd, SB_HORZ)) {
                SetScrollPos(hwnd, SB_HORZ, HscrollPos, TRUE);
                InvalidateRect(hwnd, NULL, TRUE);
            }
            break;
            }
        default:
            return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2013, 20:45
Ответы с готовыми решениями:

WinAPI (ссылка на неразрешенный внешний символ)
Доброго времени суток. Прошу рассказать и помочь с проектом. Не могу до конца понять как ее...

TransparentBlt: ссылка на неразрешенный внешний символ __imp__TransparentBlt@44
При использовании TransparentBlt в виде: TransparentBlt(hDC, 2, 3, 22, 22, hMemDC,0,0,22,22,...

Error LNK2019: ссылка на неразрешенный внешний символ
GLvoid LoadGLTextures() { // Загрузка картинки AUX_RGBImageRec *texture1; texture1 =...

Ошибка LNK2019 ссылка на неразрешенный внешний символ
Ошибка LNK2019 ссылка на неразрешенный внешний символ _WinMain@16 в функции &quot;int __cdecl...

2
Заблокирован
15.12.2013, 00:26 2
Может Вы создали "Консольное приложение Win32", а не "Проект Win32"?
Тогда нужно сменить его подсистему.
Меню Проект -> Свойства -> Свойства конфигурации -> Компоновщик -> Система -> Подсистема - поставьте Windows.

Только у Вас в коде есть и другие ошибки.
Когда подсистему исправите, напишите - будем разбираться.
1
0 / 0 / 0
Регистрация: 13.12.2013
Сообщений: 11
15.12.2013, 12:51  [ТС] 3
Спасибо)
В 12 студии пришлось из-за юникода в свойствах проекта изменить набор символов на "не задано".
Вот только прокрутка не блокируется.
0
15.12.2013, 12:51
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2013, 12:51
Помогаю со студенческими работами здесь

Error LNK2019: ссылка на неразрешенный внешний символ
Как исправить ошибку? StrCpy(szBuffer, _TEXT(&quot;String&quot;)); Ошибка 3 error LNK2019: ссылка на...

Error LNK2019: ссылка на неразрешенный внешний символ
main.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;public: __thiscall...

Error LNK2019: ссылка на неразрешенный внешний символ _main
Выдает ошибку error LNK2019: ссылка на неразрешенный внешний символ _main в функции...

Ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Здравствуйте,помогите новичку с WinApi,суть ошибки: 1)Ошибка 1 error LNK2019: ссылка на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru