Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ProgressBar Добавлено: 29.04.05 20:22  

Автор вопроса:  SyavX
Как изменить свойство Appearance с 3D на Flat у программно созданого ProgressBar'а?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 29.04.05 20:48
Сначала следует получить стиль у контрола:

GetWindowLong(.., GWL_STYLE, ..)

Потом обработать:

Value = Value And Not WS_BORDER ' (Возможно и че-то иное)

В конце:

SetWindowLong...

должно сработать...

Ответить

Номер ответа: 2
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 29.04.05 22:10
А нафтга программно создавать Прогресс? В чем фишка?

Ответить

Номер ответа: 3
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #3 Добавлено: 29.04.05 22:24
 Дело в том что он (ProgressBar) создается без флага WS_BORDER (WS_CHILD Or WS_VISIBLE). А если и добавить WS_BORDER, то в результате появится черная рамка.
 Просто хотел расширить примерчик в котором с ProgressBar через класс работают. Добавил изменение цвета, ориентации, а на Appearance застрял :(

2Noviks: чтоб ничего лишнего не подключать и в последствии не тягать с прогой

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 29.04.05 23:53
Нет этого св-ва, должно быть что-то иное...

Ответить

Номер ответа: 5
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #5 Добавлено: 30.04.05 02:20
а на Appearance застрял :(

Свойство Appearance Read-Only что ли?

Ответить

Номер ответа: 6
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #6 Добавлено: 30.04.05 13:00
 У стандартного ProgressBar есть свойство Appearance, оно имеет два состояния: 3D и Flat. При создании ProgressBar через CreateWindowEx с флагами WS_CHILD Or WS_VISIBLE контрол появляется как бы с Appearance = 3D
Задание: изменить как бы Appearance с как бы 3D на как бы Flat :)

Ответить

Номер ответа: 7
Автор ответа:
 Comanche



Вопросов: 87
Ответов: 459
 Профиль | | #7 Добавлено: 30.04.05 16:29
А если вот так:

Private Sub Form_Load()
   Dim m_hWnd As Long, lExStyle As Long
   
   m_hWnd = CreateWindowEX(0, PROGRESS_CLASSA, "", WS_VISIBLE Or WS_CHILD, 0, 0, 100, 20, Me.hwnd, 0&, App.hInstance, 0&;)
   SendMessage m_hWnd, PBM_SETPOS, 50, 0
   
   lExStyle = GetWindowLong(m_hWnd, GWL_EXSTYLE)
   lExStyle = lExStyle And (Not WS_EX_STATICEDGE)
   SetWindowLong m_hWnd, GWL_EXSTYLE, lExStyle
   
End Sub

Ответить

Номер ответа: 8
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #8 Добавлено: 01.05.05 01:16
2Comanche: Не помогает, по краям творится что-то неясное...

Ответить

Номер ответа: 9
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #9 Добавлено: 01.05.05 10:19
Прогрессбары разного класса. Тот, который ты называешь "стандартный", класса "ProgressBar20WndClass". А создаёшь класса "msctls_progress32". Это ж совсем разные контролы. И не факт, что они будут одинаково выглядеть.

Ответить

Номер ответа: 10
Автор ответа:
 Comanche



Вопросов: 87
Ответов: 459
 Профиль | | #10 Добавлено: 01.05.05 12:09
2SyavX:
Ага, и правда. И не просто "что-то неясное": край (полоска толщиной в 1 или 2 px) становится прозрачным! О как! Причём "прошибает" аж насквозь родительской формы - и при запуске из VB IDE в этой "полоске" видны "ошмётки" от VB IDE. Интересно - с чего бы это?! что мы со стилями напутали?

Ответить

Номер ответа: 11
Автор ответа:
 SyavX



Вопросов: 25
Ответов: 149
 Профиль | | #11 Добавлено: 01.05.05 14:41
HOOLIGAN правильно написал. Мне кажется вопрос можно закрывать...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам