About the RSS weather layer Sample
[C#]
RSSLayerProps2.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace RSSWeatherLayer
{
[Guid("AFC53D59-FB35-4531-9B91-DFB36512A784")]
[ComVisible(true)]
[ProgId("RSSWeatherLayer.RSSLayerProps2")]
[ClassInterface(ClassInterfaceType.None)]
public partial class RSSLayerProps2 : PropertyPage
{
private int m_symbolSize;
public RSSLayerProps2()
{
InitializeComponent();
}
protected override void OnPageApply()
{
base.OnPageApply();
PropertySheet propSheet = Objects[0] as PropertySheet;
RSSWeatherLayerClass layer = propSheet.RSSWatherLayer;
if (null == layer)
return;
int symbolSize;
int.TryParse(txtSymbolSize.Text, out symbolSize);
if (0 != symbolSize && m_symbolSize != symbolSize)
layer.SymbolSize = symbolSize;
}
protected override void OnPageActivate(IntPtr hWndParent, Rectangle Rect, bool bModal)
{
base.OnPageActivate(hWndParent, Rect, bModal);
PropertySheet propSheet = Objects[0] as PropertySheet;
RSSWeatherLayerClass layer = propSheet.RSSWatherLayer;
if (null == layer)
return;
txtSymbolSize.Text = layer.SymbolSize.ToString();
m_symbolSize = layer.SymbolSize;
}
private void txtSymbolSize_TextChanged(object sender, EventArgs e)
{
if (!IsPageActivating)
PageIsDirty = true;
}
}
}
[Visual Basic .NET]
RSSLayerProps2.vb
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports System.Runtime.InteropServices
<Guid("AFC53D59-FB35-4531-9B91-DFB36512A784"), ComVisible(True), ProgId("RSSLayerProps2"), ClassInterface(ClassInterfaceType.None)> _
Public Partial Class RSSLayerProps2 : Inherits PropertyPage
Private m_symbolSize As Integer
Public Sub New()
InitializeComponent()
End Sub
Protected Overrides Sub OnPageApply()
MyBase.OnPageApply()
Dim propSheet As PropertySheet = TryCast(Objects(0), PropertySheet)
Dim layer As RSSWeatherLayerClass = propSheet.RSSWatherLayer
If Nothing Is layer Then
Return
End If
Dim symbolSize As Integer
Integer.TryParse(txtSymbolSize.Text, symbolSize)
If 0 <> symbolSize AndAlso m_symbolSize <> symbolSize Then
layer.SymbolSize = symbolSize
End If
End Sub
Protected Overrides Sub OnPageActivate(ByVal hWndParent As IntPtr, ByVal Rect As Rectangle, ByVal bModal As Boolean)
MyBase.OnPageActivate(hWndParent, Rect, bModal)
Dim propSheet As PropertySheet = TryCast(Objects(0), PropertySheet)
Dim layer As RSSWeatherLayerClass = propSheet.RSSWatherLayer
If Nothing Is layer Then
Return
End If
txtSymbolSize.Text = layer.SymbolSize.ToString()
m_symbolSize = layer.SymbolSize
End Sub
Private Sub txtSymbolSize_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtSymbolSize.TextChanged
If (Not IsPageActivating) Then
PageIsDirty = True
End If
End Sub
End Class