Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 18

Выбор и отображение картинки

28.02.2016, 23:06. Показов 1224. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, решить задачу. Диалоговое окно предлагает из трех картинок (доступ оформлен через селекторы), выбрать одну, которую следует отобразить в определенной зоне диалогового окна. Выбор названия файла отражается в статусной строке.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2016, 23:06
Ответы с готовыми решениями:

Отображение картинки
как отобразить картинку в впф(программно, из файловой системы)???

Отображение картинки
Снова у меня вопрос про загрузку изображений. Я загружаю любую картинку с компьютера. На форме у меня есть кнопка "Зеркальное...

Отображение картинки
Здравствуйте! У меня не получается отобразить картику с БД access. Я вам скажу что я сделал, а вы скажете что я сделал не так) итак... 1....

4
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
29.02.2016, 01:56
VladislavY, показывайте свои наработки.
0
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 18
01.03.2016, 01:11  [ТС]
Цитата Сообщение от jonson Посмотреть сообщение
VladislavY, показывайте свои наработки.
отображает одну картинку из папки с проектом. не знаю как сделать выбор и отображать несколько картинок из проекта

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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#include <windows.h>
// 
LRESULT CALLBACK DepartComTechWndProc(HWND hWnd, UINT Message, UINT wParam, LONG lParam)
 
{
    HDC hDC, hCompatibleDC;
    PAINTSTRUCT PaintStruct;
    static HANDLE hBitmap;
    HANDLE hOldBitmap;
    RECT Rect;
    BITMAP Bitmap;
    static int nHorizDifference = 0, nVertDifference = 0;
    static int nHorizPosition = 0, nVertPosition = 0;
    // Select the desired processing sequence for
    // Specific message
    switch (Message)
    {
        // eliminated the lack of multiple boot images from a file on disk 
    case WM_CREATE:
        hBitmap = LoadImage(NULL, L"1.bmp", IMAGE_BITMAP,
            0, 0, LR_LOADFROMFILE);
        return 0;
    case WM_PAINT:
        // Handle reports of redrawing the working area of the window
        // Get the device descriptor 
        hDC = BeginPaint(hWnd, &PaintStruct);
        GetObject(hBitmap, sizeof(BITMAP), &Bitmap);
        hCompatibleDC = CreateCompatibleDC(hDC);
        hOldBitmap = SelectObject(hCompatibleDC, hBitmap);
        // Definition of the client area for drawing,
        // Rect structure in the first two dimensions equal to 0, and -
        // Third and fourth - the width and height of the window
        GetClientRect(hWnd, &Rect);
        /*Version without scrolling
        * Copy bitmap compatible with the primary device context with scaling
        StretchBlt(hDC, 0, 0, Rect.right, Rect.bottom, hCompatibleDC, 0, 0, Bitmap.bmWidth,
        Bitmap.bmHeight, SRCCOPY);
        */
        /*Version with scrolling */
        BitBlt(hDC, 0, 0, Rect.right, Rect.bottom, hCompatibleDC,
            nHorizPosition, nVertPosition, SRCCOPY);
        if ((nHorizDifference = (Bitmap.bmWidth - Rect.right))>0)
            SetScrollRange(hWnd, SB_HORZ, 0, nHorizDifference, TRUE);
        else
            SetScrollRange(hWnd, SB_HORZ, 0, 0, TRUE);
        if ((nVertDifference = (Bitmap.bmHeight - Rect.bottom))>0)
            SetScrollRange(hWnd, SB_VERT, 0, nVertDifference, TRUE);
        else
            SetScrollRange(hWnd, SB_VERT, 0, 0, TRUE);
        //Re - do the old bitmap current
        SelectObject(hCompatibleDC, hOldBitmap);
        //Remove compatible context
        DeleteDC(hCompatibleDC);
        // 
//      DrawText(hDC, L"Department of Computer Technology 2016. Vinnitsa", -1, &Rect,
//          DT_SINGLELINE | DT_CENTER | DT_VCENTER);
 
        // Definition of the client area for drawing,
        EndPaint(hWnd, &PaintStruct);
        return 0;
    case WM_VSCROLL:
        switch (LOWORD(wParam))
        {
        case SB_LINEDOWN:
            if (nVertPosition<nVertDifference)
                nVertPosition++;
            break;
        case SB_LINEUP:
            if (nVertPosition>0)
                nVertPosition--;
            break;
        case SB_THUMBTRACK:
            nVertPosition = HIWORD(wParam);
            break;
        }
        SetScrollPos(hWnd, SB_VERT, nVertPosition, TRUE);
        InvalidateRect(hWnd, NULL, TRUE);
        return 0;
    case WM_HSCROLL:
        switch (LOWORD(wParam))
        {
        case SB_LINEDOWN:
            if (nHorizPosition<nHorizDifference)
                nHorizPosition++;
            break;
        case SB_LINEUP:
            if (nHorizPosition>0)
                nHorizPosition--;
            break;
        case SB_THUMBTRACK:
            nHorizPosition = HIWORD(wParam);
            break;
        }
        SetScrollPos(hWnd, SB_HORZ, nHorizPosition, TRUE);
        InvalidateRect(hWnd, NULL, TRUE);
        return 0;
        // Beginning of the destruction of the window operation
        // WM_DESTROY message appears in the message queue at
        // Window is closed
    case WM_DESTROY:
        // 
        DeleteObject(hBitmap);
        // Function PostQuitMessage send window (the data about the window in
        // System) message WM_QUIT, which causes the termination of
        // Processing loop
        PostQuitMessage(0);
        return 0;
    }
 
    // Handle all other messages (the default)
    return DefWindowProc(hWnd, Message, wParam, lParam);
 
}
 
int WINAPI wWinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpszCmdParam,
    int nCmdShow)
{
    //You need to use WNDCLASSEX
    WNDCLASSEX WndClass;
 
    MSG Msg;// message structure 
    //Use Multi-Byte Character Set 
    HWND hWnd;// Display window handle 
 
    //
    //project/<your project name> properties/configuration properties/general/character set/
    //Use Multi-Byte Character Set
 
    // 
    wchar_t  szClassName[] = L"DepartComTech";
 
    //  WNDCLASSEX
 
    WndClass.cbSize = sizeof(WNDCLASSEX);
 
    WndClass.style = CS_HREDRAW | CS_VREDRAW;
    WndClass.lpfnWndProc = DepartComTechWndProc;
    WndClass.cbClsExtra = 0;
    WndClass.cbWndExtra = 0;
    WndClass.hInstance = hInstance;
    WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
    WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    WndClass.lpszMenuName = NULL;
    WndClass.lpszClassName = szClassName;
 
    WndClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    // 
    // You need to use RegisterClassEx
 
    if (!RegisterClassEx(&WndClass))
    {
        MessageBox(NULL, L"Cannot register class", L"Error", MB_OK);
        return 0;
    }
 
 
 
 
    // You need to use CreateWindowEx
 
    hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, szClassName, L"Windows API. Lab 3",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT,
        CW_USEDEFAULT, CW_USEDEFAULT,
        NULL, NULL,
        hInstance, NULL);
 
    //
 
    if (!hWnd)
 
    {
        MessageBox(NULL, L"Cannot create window", L"Error", MB_OK);
        return 0;
    }
 
    //window display 
    // Display the window on the screen
 
    ShowWindow(hWnd, nCmdShow);
 
    // 
    // 
 
    UpdateWindow(hWnd);
 
    // Cycle of treatment of reports 
 
    while (GetMessage(&Msg, NULL, 0, 0))
    {
        // Translates virtual-key messages into character messages 
 
        TranslateMessage(&Msg);
 
        // Dispatches a message to a window procedure 
 
        DispatchMessage(&Msg);
    }
 
    // 
 
    return Msg.wParam;
 
}
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
//Header
#include <Windows.h>
 
class Myclass {
 
public:
    WNDCLASSEX WndClass;
    HWND hWnd;// Create a unique identifier
 
    Myclass(HINSTANCE hInstance, UINT Style, LPCTSTR Icon, LPCTSTR IconSm, LPCTSTR Cursor, int Background, LPCWSTR szClassName);
    HWND createWindow(HINSTANCE hInstance, int nCmdShow, LPCWSTR  szClassName, LPCWSTR  Title, DWORD Style);
};
 
 
 
Myclass::Myclass(HINSTANCE hInstance, UINT Style, LPCTSTR Icon, LPCTSTR IconSm, LPCTSTR Cursor, int Background, LPCWSTR szClassName)
{
    WndClass.cbSize = sizeof(WNDCLASSEX);
 
    WndClass.style = CS_HREDRAW | CS_VREDRAW;
    WndClass.hInstance = hInstance;
    WndClass.cbClsExtra = 0;
    WndClass.cbWndExtra = 0;
    WndClass.hInstance = hInstance;
    WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
    WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    WndClass.lpszMenuName = NULL;
    WndClass.lpszClassName = szClassName;
 
    WndClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
}
HWND Myclass::createWindow(HINSTANCE hInstance, int nCmdShow, LPCWSTR  szClassName, LPCWSTR  Title, DWORD Style) {
    hWnd = CreateWindowEx(WS_OVERLAPPED, szClassName, L"Author is Vasitynskyi",
        WS_SYSMENU,
        CW_USEDEFAULT, CW_USEDEFAULT,
        CW_USEDEFAULT, CW_USEDEFAULT,
        NULL, NULL,
        hInstance, NULL);
 
    return hWnd;
}
0
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
01.03.2016, 11:14
Цитата Сообщение от VladislavY Посмотреть сообщение
доступ оформлен через селекторы
это как?
0
0 / 0 / 0
Регистрация: 30.09.2015
Сообщений: 18
01.03.2016, 19:00  [ТС]
Selector - класс. Предоставляет элемент управления, позволяющий пользователю выбрать один из его дочерних элементов.
https://msdn.microsoft.com/ru-... .110).aspx

Добавлено через 1 час 53 минуты
Цитата Сообщение от jonson Посмотреть сообщение
это как?
не знаю как сделать селекторы и как выделить зону диалогового окна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.03.2016, 19:00
Помогаю со студенческими работами здесь

Отображение картинки
Доброе время суток, столкнулся с проблемой ThumbGenerate.asp, после переноса на новый хостинг перестали отображаться картинки, который...

Отображение картинки
Есть выпадающий список: &lt;b&gt;В какую страну вы хотели бы поехать?&lt;/b&gt;&lt;br&gt; &lt;select name=&quot;country&quot;&gt; &lt;option...

Некорректное отображение картинки
Всем привет. Ребят столкнулся с такой проблемой... Создал картинку с размером 1x32 залил черным цветом... Сохранил все это дело. ...

Случайное отображение картинки
Добрый вечер! Как можно сделать такую вещь: Имеется 3 картинки, название s1, s2, s3. Нужно чтобы картинка менялась на сайте каждые...

Отображение картинки в listwidget
#include &quot;secondwindow.h&quot; #include &quot;ui_secondwindow.h&quot; #include &lt;QPixmap&gt; #include &quot;QtSql/QSqlDatabase&quot; #include &quot;QSqlQuery&quot; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru