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

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

19.10.2014, 06:36. Показов 3637. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru