Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880

Текст и кнопки в основном окне

19.10.2014, 06:36. Показов 3556. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот часть проблемного кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
    case WM_CREATE:
    {
        RECT rc;
        GetClientRect(hWnd, &rc);
        int indent(15), horizon(130);
        CreateWindow(L"COMBOBOX", L"COMBO_DISK", WS_CHILD | WS_VISIBLE | LBS_STANDARD, 50, 50, 50, 90, hWnd, (HMENU)IDC__MY_CB1, hInst, 0);
        CreateWindow(L"BUTTON", L"Delete", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 380, 50, 50, 22, hWnd, (HMENU)IDC__MY_BTN, hInst, 0);
        CreateWindow(L"LISTBOX", L"LIST1", WS_CHILD | WS_VISIBLE | WS_BORDER, indent, horizon, rc.right - indent*2, rc.bottom - horizon - indent, hWnd, (HMENU)IDC__MY_LB1, hInst, 0);
        CreateWindow(L"CHOOSE_DISK", L"Choose disk:", WS_CHILD | WS_VISIBLE | SS_LEFT, 10, 10, 200, 15, hWnd, NULL, NULL, NULL);
 
        break;
    }
1. Почему статик текст не отображается?
C++
1
CreateWindow(L"CHOOSE_DISK", L"Choose disk:", WS_CHILD | WS_VISIBLE | SS_LEFT, 10, 10, 200, 15, hWnd, NULL, NULL, NULL);
2. Вот создается кнопка Delete
C++
1
CreateWindow(L"BUTTON", L"Delete", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 380, 50, 50, 22, hWnd, (HMENU)IDC__MY_BTN, hInst, 0);
Она квадратная (ну с прямыми углами), как сделать её нормальной как в виндовсе 7 например?
________________________________________ ________________________________________ __

3. Собственно при создании диалогового окна можно "вручную" перетаскивать лист боксы, кнопки и т.д.
Почему при работе в основном окне, нужно это все "прописывать кодом"? Или я что то не знаю?

Добавлено через 28 минут
C++
1
        CreateWindow(L"STATIC", L"Choose disk:", WS_CHILD | WS_VISIBLE | SS_LEFT, 30, 30, 90, 15, hWnd, NULL, NULL, NULL);
Вот так текст вывелся на экран. Но он выводится на сером фоне. Как цвет исправить на белый?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2014, 06:36
Ответы с готовыми решениями:

WM_SIZE и кнопки в диалоговом окне
Всем привет! Создаю диалоговое окно из rc-файла, начальные размеры окна и координаты кнопок заданы. Я правильно понимаю, что, если я хочу...

Нажатие кнопки в диалоговом окне
Добрый день! У меня проблема с нажатием кнопки в диалоговом окне загрузки файла а IE8. Вылазит стандартная форма с тремя кнопками Открыть,...

Дочерние кнопки в дочернем окне
Не могу понять, почему не отображаются кнопки дочернего окна в дочернем окне? Перепроверил стили класса и окна, оконные функции. Вроде...

21
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
24.10.2014, 00:23
Студворк — интернет-сервис помощи студентам
andreyananas, тоже самое, стандартный новый проэкт в VS2013. Добавил выше показанные 6 строк, никакие настройки не менял. Всё работает.
0
4 / 4 / 3
Регистрация: 20.06.2013
Сообщений: 35
24.10.2014, 01:36
andreyananas, Видешь ли, любой компонент - это окошко, и оно заметь прямоугольное, то есть не задавать браш - это всего лишь пол дела. Предположим у нас фон окна какое нибудь изображение, что бы красивее было, и нужно например засунуть не только статик текст, но еще к примеру радио боксы, чек боксы, а так же оставлять цветом фона на уголках, если кнопки с загругленными краями (в XP темах это хорошо видно). По это му хорошо было бы на этот компонент еще нанести картинку родителя, и заметь той части, где он находится.
Вот текст приемов сообщений:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
case WM_CTLCOLORSTATIC:
        SetBkMode((HDC)wParam,TRANSPARENT);
 
    case WM_CTLCOLORBTN:
        GetWindowRect((HWND)lParam,&rect);
        point.x=rect.left;
        point.y=rect.top;
        ScreenToClient(hwnd,&point);
        parentDC=GetDC(hwnd);
 
        BitBlt((HDC)wParam,0,0,rect.right-rect.left,rect.bottom-rect.top,parentDC,point.x,point.y,SRCCOPY);
 
        ReleaseDC(hwnd,parentDC);
 
        return (LRESULT)GetStockObject(NULL_BRUSH);
        break;
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2014, 01:36

Размещение кнопки на STATIC окне
При определенном событии главное окно "скрывается" и создается окно класса Static. .... // Прячем главное окно ...

Не работают кнопки в диалоговом окне
Здравствуйте, тут такая проблема возникла, в общем, я создаю базу данных, затем подгружаю из файла данные, потом, например, хочу добавить...

Можно ли рисовать в окне нажатием кнопки?
Попытался осуществить таким образом: case WM_COMMAND: { switch(LOWORD(wParam)) { case...

Текст в окне
Мне уже ТЕПЕРЬ надо сделать кнопку, окно с информацией, что ты на нее нажал, и текст, который будет появлятся при нажатии на кнопку. Куда...

Отслеживание нажатия моей кнопки в чужом окне
Доброго времени суток прошу вашей помощи в некой задаче Вобщем есть приложение через которое я запускаю другое приложение получая его...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru