|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
WebCustomControl - видоизменённый CheckBox, у которого вместо галочки картинка - нажата/отжата |
|
Дата:
|
10 March 2005 |
|
Описание: |
При использовании в другом контроле возможно потребуется вызов MyBase.CreateChildControls() в контексте Protected Overrides Sub CreateChildControls(). Как всегда желаю приятной работы. |
| |
Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения
следующую строку:
[CODEPOST ID=132]WebCustomControl - видоизменённый CheckBox, у которого вместо галочки картинка - нажата/отжата[/CODEPOST] |
| Оценка: |
Проголосовало 2 посетителей, средняя оценка 4.50 |
| Оценить: |
|
1 REM Тут используются яваскрипты на движение и нажатие мыши.
2 'function filterGroupClick (sChkId, sImgId) {
3 ' if (sChkId.checked) {
4 ' sChkId.checked = false
5 ' sImgId.src = "/img/group.gif"
6 ' }
7 ' else {
8 ' sChkId.checked = true
9 ' sImgId.src = "/img/groupIn.gif"
10 ' }
11 '}
12 '
13 'function filterGroupMouseOver (oThis) {
14 ' oThis.src = "/img/groupOut.gif"
15 '}
16 '
17 'function filterGroupMouseOut (oThis, sChkId) {
18 ' if (sChkId.checked) {
19 ' oThis.src = "/img/groupIn.gif"
20 ' }
21 ' else {
22 ' oThis.src = "/img/group.gif"
23 ' }
24 '}
25 Public Class CheckImage
26 Inherits WebControl
27 Private oCheckBox As New CheckBox
28 Private oImage As New System.Web.UI.WebControls.Image
29
30 REM Конструктор - значения по-умолчанию.
31 Public Sub New()
32 Checked = False
33 End Sub
34
35 REM Свойство контрола
36 <Description("Определяет включение/выключение")> _
37 Public Property Checked() As Boolean
38 Get
39 Return oCheckBox.Checked
40 End Get
41 Set(ByVal Value As Boolean)
42 oCheckBox.Checked = Value
43 End Set
44 End Property
45
46 REM Формирование дочерних элементов
47 Protected Overrides Sub CreateChildControls()
48 Me.Controls.Clear()
49 oCheckBox.Style.Add("display", "none")
50 Controls.Add(oImage)
51 Controls.Add(oCheckBox)
52 oImage.Attributes.Add("onmouseover", "filterGroupMouseOver(this)")
53 oImage.Attributes.Add("onmouseout", "filterGroupMouseOut(this," & oCheckBox.ClientID & ")")
54 oImage.Attributes.Add("onclick", "filterGroupClick(" & oCheckBox.ClientID & ",this)")
55 End Sub
56
57 REM Сохранение Viewstate-а
58 Public Overrides ReadOnly Property Controls() As System.Web.UI.ControlCollection
59 Get
60 Me.EnsureChildControls()
61 Return MyBase.Controls
62 End Get
63 End Property
64
65 REM Регистрация JavaScript
66 Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
67 MyBase.OnPreRender(e)
68 'If (Not Page.IsClientScriptBlockRegistered("JSControls")) Then
69 Page.RegisterClientScriptBlock("JSControls", "<script language=""javascript"" type=""text/javascript"" src=""/Script/Controls.js""></script>")
70 'End If
71 If oCheckBox.Checked Then
72 oImage.ImageUrl = "/img/groupIn.gif"
73 Else
74 oImage.ImageUrl = "/img/group.gif"
75 End If
76 End Sub
77 End Class
78 |
| Вернуться к списку исходников в категории Создание элементов управления |
|
|
 |
 |
 |
 |
|
|