|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.03.2010, 16:48 | #1 |
Пользователь
Регистрация: 06.03.2010
Сообщений: 12
|
Создание GUI для WINDOWS
Доброго времени суток! Есть такая задача, в принципе немного похожа на тему: » Анимированный осциллограф на WinAPI (С++).
1) Нужно создать своё окно неправильной формы, в окне создать кнопку (на рабочей области). Получается обычное окно, а вот как создать произвольную форму?(Окно создаётся с нуля). 2) При выполнении двойного клика левой кнопки мыши на поле формы окно закрывается, при выполнении двойных кликов левой кнопкой мыши рисуется фигура (например, квадрат это не важно). Нажатием на одну из клавиш F1 – F12 можно менять размер фигуры. Это пока вообще не понятно Последний раз редактировалось inzener-tolik; 06.03.2010 в 17:30. |
06.03.2010, 17:07 | #2 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Я делал когда-то щас уж не помню!!!
Там вообщем Кидаешь картинку на форму фон отделяешь от самой картинки и всё!! В Делфи глазами хакера это описано!!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
09.03.2010, 13:02 | #3 |
Пользователь
Регистрация: 06.03.2010
Сообщений: 12
|
Ну, всё понятно.Придётся втыкать самому.
|
09.03.2010, 13:29 | #4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 18,136
|
В DRKB есть несколько примеров по созданию не прямоугольных форм. Обычно для этого используются регионы.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
11.03.2010, 13:13 | #5 |
Пользователь
Регистрация: 06.03.2010
Сообщений: 12
|
Короче сделал окно вот так:
WinRgn = CreateRoundRectRgn (100,100,700,700,700,700); SetWindowRgn(hwnd,WinRgn,true); Можно сделать несколько регионов и объединить их.Однако все-равно так довольно сложно получать требуемую форму. |
11.03.2010, 15:24 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
При помощи CreateRectRgn/CombineRgn можно слепить окно любой формы
http://programmersforum.ru/showpost....86&postcount=7 Чтоб при каждом запуске не заниматься этим мартышкиным трудом, полученный регион можно засунуть в ресурсы и использовать через ExtCreateRegion/SetWindowRgn
пыщь
|
11.03.2010, 16:16 | #7 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,432
|
Вот мои тренировки по теме круглых окон:
http://programmersforum.ru/showpost....26&postcount=1 Правда утилитка bmptorgn по функционалу похуже будет чем MR.exe.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
12.03.2010, 22:36 | #8 |
Пользователь
Регистрация: 06.03.2010
Сообщений: 12
|
Да спасибо! Окна научился делать.
Практически все сделал, отсалось вот это:Нажатием на одну из клавиш F1 – F12 можно менять размер фигуры. Пока не пойму как заюзать эти клавиши |
13.03.2010, 11:39 | #9 |
Пользователь
Регистрация: 06.03.2010
Сообщений: 12
|
Все разобрался!
Нужно сделать так: Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание приложений Windows Application | Александр Елис | Помощь студентам | 6 | 20.10.2009 22:24 |
Создание службы в Windows | goblinyara | Общие вопросы Delphi | 8 | 03.01.2009 19:57 |
Забавы с Windows (создание заставки) | SCS | Свободное общение | 4 | 05.10.2007 12:53 |