Модераторы: gambit, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Своя собственная рамка формы. 
:(
    Опции темы
Elfet
  Дата 22.12.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Хочу сделать рамку своей формы такой какой захочу, но не стандартную smile И что бы у всех диалогов была такая же. 
Поискал на codeproject , но то что там нашёл не хочет работать у меня.
Объясните пожалуйста как создавать собственные рамки?  smile 


--------------------
PM MAIL WWW Skype   Вверх
juravel
Дата 22.12.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



пример от Microsoft
Еще один
(Там всьо на Английском) smile 
PM MAIL   Вверх
DarkDragon
Дата 23.12.2006, 06:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 3
Всего: 8



Могу посоветовать (сам делал) берешь значить делаешь ф-ций для формы. Она автоматом ставит FormBorder = None, далее создаешь одну панель размером (Height = 16,24,32 - по вкусу) и Dock ставишь в Top. К этой панели прикрутиваешь Mouse Event's для перетаскивания всей формы, также добавляешь к этой панели батоны (свернуть, макс\мин, закрыть). Далее создаешь еще одни Panel, с параметрами: X = 4 (все зависит от того, какие линии границ у твоей формы) Y = TopPanel.Height + 2, Width = Form.Width - CtrlPanel.X, Height = Form.Height - CtrlPanel.Y, Anchor во все стороны. Далее все контролы в форме постепенно удаляя с формы, заносишь их в CtrlPanel, посредством цикла (тока рекурсию не надо делать!!!), ну и все.

TopPanel - это первая панель, служащая как место где рисуется иконка, название формы, и кнопки управления формой.
CtrlPanel - это вторая панель, служащая местом для контролов находящихся на форме.

Границы формы, можно рисовать прямо в Paint, у формы. Конечно еще нужно добавить к той же форме обработку мышки, на некоторые позиции, чтобы можно было изменять размеры.

Если же нужно сделать форму необычайном ввиде, то можно использовать Form.TransparentColor = Color...., назначить цвет который исчезнит при запуске формы.
PM MAIL   Вверх
Elfet
Дата 23.12.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(juravel @  23.12.2006,  00:30 Найти цитируемый пост)
пример от Microsoft
Еще один
(Там всьо на Английском) smile

Ето точно то что нужно? smile

DarkDragon, толко так изврашатся? smile


--------------------
PM MAIL WWW Skype   Вверх
juravel
Дата 23.12.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



Ето лудше


Это сообщение отредактировал(а) juravel - 23.12.2006, 13:57
PM MAIL   Вверх
Elfet
Дата 23.12.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Что то я не понимаю как это сюда вообще относится?  smile 


--------------------
PM MAIL WWW Skype   Вверх
juravel
Дата 23.12.2006, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



Цитата


Ето точно то что нужно? 

Цитата

Ето лудше

Ето точно то что надо smile 
PM MAIL   Вверх
Elfet
Дата 23.12.2006, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



BorderStyle Enumeration 

Там всего TreeView, у которого меняют свойства. Как это мне помогает? Мне нужна рамка окна! 


--------------------
PM MAIL WWW Skype   Вверх
juravel
Дата 23.12.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



Упс! Точно! Извиняюсь! smile 

PM MAIL   Вверх
DarkDragon
Дата 23.12.2006, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 3
Всего: 8



Цитата(Elfet @  23.12.2006,  12:46 Найти цитируемый пост)
DarkDragon, толко так изврашатся? smile 

Ну не совсем. Это конечно не совершенный метод, но тем не менее я так делал, и вроде работает нормально. Можно и ваще без панелей обойтись тока на самой форме рисовать (сложнее).

Цитата(DarkDragon @  23.12.2006,  06:38 Найти цитируемый пост)
Если же нужно сделать форму необычайном ввиде, то можно использовать Form.TransparentColor = Color...., назначить цвет который исчезнит при запуске формы. 

А это нужно использовать если форма нарисована на Bitmap, или еще на чем нибудь. Недостаток - произвольный размер формы нереализуем.

Также можешь побегать по http://gotdotnet.ru в разделе Файлы - Примеры, правда точный адрес непомню, но про винды там  точно есть.
PM MAIL   Вверх
Naum
Дата 25.12.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



Кстати, можно просто рисовать на форме Bitmap (конечно, FormBorderStyle=None). Я например недавно делал псевдо-Winamp (со скином Modern). Там уже все битмапы есть. И для кнопок: нажатых и отпущенных. 


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Elfet
Дата 25.12.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



А если переопределить метод рисования формы? Так как-нибудь можно?


--------------------
PM MAIL WWW Skype   Вверх
DarkDragon
Дата 25.12.2006, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 3
Всего: 8



Цитата(Naum @  25.12.2006,  11:34 Найти цитируемый пост)
Кстати, можно просто рисовать на форме Bitmap (конечно, FormBorderStyle=None). Я например недавно делал псевдо-Winamp (со скином Modern). Там уже все битмапы есть. И для кнопок: нажатых и отпущенных. 

Плюс TransparentColor = Color.Magenta smile Если края формы нужно обрезать (или еще чего нибудь). Насколько помнится что Modern это не Classic, и края у него овальные.

Цитата(Elfet @  25.12.2006,  19:56 Найти цитируемый пост)
если переопределить метод рисования формы? Так как-нибудь можно? 

Конечно можно.
PM MAIL   Вверх
Naum
Дата 26.12.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



Цитата(DarkDragon @  26.12.2006,  00:00 Найти цитируемый пост)
Плюс TransparentColor = Color.Magenta
 Блин, а через регион обрезал.  smile 



--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Elfet
Дата 26.12.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(DarkDragon @  26.12.2006,  00:00 Найти цитируемый пост)
Конечно можно. 

А как? smile


--------------------
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.