Страница: 1 |
Страница: 1 |
Вопрос: %ES_PASSWORD
Добавлено: 14.11.05 01:40
Автор вопроса: Zoomie
У меня создается программно диалог, значит у меня есть все ID контролов. Есть TextBox, в котором изначально стоит %ES_PASSWORD. Как из другой функции можно снять это свойство?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #1
Добавлено: 14.11.05 08:00
Ну %ES_ - это что такое? Стиль. Значит тебе нужно програмно изменить стиль э.у. Для изменения стиля используются функции Get(Set)WindowLong с флагом GWL_STYLE. Более подробно смотри справочную литературу.
Номер ответа: 2
Автор ответа:
Zoomie
Вопросов: 3
Ответов: 4
Профиль | | #2
Добавлено: 14.11.05 15:21
Э... Я в PB новичок.
Можно кодик плиз
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 15.11.05 16:01
Суть в том что функцией GetWindowLong c параметром GWL_STYLE ты получаешь комбинацию всех стилей окна в одну переменную. Затем добавляешь дополнительный стиль булевой OR (ИЛИ) и устанавливаешь новую комбинацию стилей функцией SetWindowLong.
Пример для VB
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_STYLE = (-16)
Const ES_NUMBER = &H2000&
Public Sub SetNumber(NumberText As TextBox, Flag As Boolean)
Dim curstyle As Long, newstyle As Long
'retrieve the window style
curstyle = GetWindowLong(NumberText.hwnd, GWL_STYLE)
If Flag Then
curstyle = curstyle Or ES_NUMBER
Else
curstyle = curstyle And (Not ES_NUMBER)
End If
'Set the new style
newstyle = SetWindowLong(NumberText.hwnd, GWL_STYLE, curstyle)
'refresh
NumberText.Refresh
End Sub
Private Sub Form_Load()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
SetNumber Text1, True
Me.Caption = "Now, try typing some letters into the textbox"
End Sub