This thread is intended for skin authors, plus those advanced users who have learnt skin programming and have customised the skins that they use.
When there is a large number of channels in the EPG, it is often simpler to enter on the remote control or keyboard the number of the channel required, rather than pressing repeatedly the PAGE_UP or PAGE_DOWN buttons. But wait a moment... where is the visual feedback showing you the buttons that you are pressing?
Well, there is visual feedback, but it is inconspicuous and overlays the leftmost time label at the top of the grid. The first screen shot below shows the EPG before pressing numeric digits, while the second screen shot shows the EPG after pressing "55" and before the timeout expires ("55" highlighted in red):

I have checked the "Amped", "Ares", "DefaultWideHD", and "Titan" skins, plus my own "Clarity" skin, and they all display the channel digits on top of the leftmost time label. This leads me to suspect that none of the authors of those skins knew about control 34 when they were designing those skins. The C# source code even has this comment:
// Check for new standalone label control for keyed in channel numbers.
which suggests that control 34 was a late addition to the TV and radio guides.
Using control 34 has some restrictions, due to the nature of the TV and radio EPGs. These panels are undoubtedly the most complex panels in MP. In fact, they are so complex that they cannot be handled entirely by the skin engine. Instead, the skin engine processes the simple parts, while the TV plugin itself handles the complex parts.
From experiments, I have concluded that the EPG panels are rendered in the following order:
(1) The skin engine scans the xml file and renders the images and textures in the simple parts of the panels. These are such things as the panel background, the red recording dot, and other graphics (according to the skin design).
(2) The TV plugin then scans the xml file and renders the images and textures in the complex parts of the panels. These are the parts that reside within the guide grid, plus the genre-table colour samples.
(3) The TV plugin then scans the xml file again and renders the text in the complex parts of the panels. These are the channel names, programme names, time labels, spin button labels, genre-table labels.
(4) The skin engine then scans the xml file again and renders the text in the simple parts of the panels. These are such things as the panel title, the current date and time (typically shown in the top right corner), and the detailed info about the programme that has the focus.
So layer (4) is the topmost visible layer, while layer (1) is the bottommost layer and underlays all of the other layers. The effect of this is that you cannot place any graphics on top of the guide grid, because the guide grid is layer (2), while your graphics will be layer (1). You can however place text on top of the guide grid, because your text will be in layer (4).
Control 34 is handled by the TV plugin, and so resides in layer (3). The control is hidden except when digits are being entered. Fortunately, other controls can test control 34 for visibility, and this allows the visibility of other elements (text or graphics) to be linked to the visibility of control 34.
For my "Clarity" skin I tried three different locations for control 34, all locations being in the simple parts of the panel. It is necessary to suppress whatever text resides in that location, as control 34 does not obey the rules for an action group (so you cannot superimpose control 34 plus associated text and graphics on top of whatever normally resides at that location). Here is my working "proof of concept":

Here is the xml that handles the keyed channel number:
-- from CyberSimian in the UK
When there is a large number of channels in the EPG, it is often simpler to enter on the remote control or keyboard the number of the channel required, rather than pressing repeatedly the PAGE_UP or PAGE_DOWN buttons. But wait a moment... where is the visual feedback showing you the buttons that you are pressing?
Well, there is visual feedback, but it is inconspicuous and overlays the leftmost time label at the top of the grid. The first screen shot below shows the EPG before pressing numeric digits, while the second screen shot shows the EPG after pressing "55" and before the timeout expires ("55" highlighted in red):


I have checked the "Amped", "Ares", "DefaultWideHD", and "Titan" skins, plus my own "Clarity" skin, and they all display the channel digits on top of the leftmost time label. This leads me to suspect that none of the authors of those skins knew about control 34 when they were designing those skins. The C# source code even has this comment:
// Check for new standalone label control for keyed in channel numbers.
which suggests that control 34 was a late addition to the TV and radio guides.
Using control 34 has some restrictions, due to the nature of the TV and radio EPGs. These panels are undoubtedly the most complex panels in MP. In fact, they are so complex that they cannot be handled entirely by the skin engine. Instead, the skin engine processes the simple parts, while the TV plugin itself handles the complex parts.
From experiments, I have concluded that the EPG panels are rendered in the following order:
(1) The skin engine scans the xml file and renders the images and textures in the simple parts of the panels. These are such things as the panel background, the red recording dot, and other graphics (according to the skin design).
(2) The TV plugin then scans the xml file and renders the images and textures in the complex parts of the panels. These are the parts that reside within the guide grid, plus the genre-table colour samples.
(3) The TV plugin then scans the xml file again and renders the text in the complex parts of the panels. These are the channel names, programme names, time labels, spin button labels, genre-table labels.
(4) The skin engine then scans the xml file again and renders the text in the simple parts of the panels. These are such things as the panel title, the current date and time (typically shown in the top right corner), and the detailed info about the programme that has the focus.
So layer (4) is the topmost visible layer, while layer (1) is the bottommost layer and underlays all of the other layers. The effect of this is that you cannot place any graphics on top of the guide grid, because the guide grid is layer (2), while your graphics will be layer (1). You can however place text on top of the guide grid, because your text will be in layer (4).
Control 34 is handled by the TV plugin, and so resides in layer (3). The control is hidden except when digits are being entered. Fortunately, other controls can test control 34 for visibility, and this allows the visibility of other elements (text or graphics) to be linked to the visibility of control 34.
For my "Clarity" skin I tried three different locations for control 34, all locations being in the simple parts of the panel. It is necessary to suppress whatever text resides in that location, as control 34 does not obey the rules for an action group (so you cannot superimpose control 34 plus associated text and graphics on top of whatever normally resides at that location). Here is my working "proof of concept":


Here is the xml that handles the keyed channel number:
Code:
<control Style="CwBox3">
<description>Box and background for channel-number pop-up</description>
<type>image</type>
<posX>#cw.guide.popup.ground.x</posX>
<posY>#cw.guide.popup.ground.y</posY>
<width>192</width>
<height>96</height>
<visible>Control.IsVisible(34)</visible>
</control>
<control>
<description>Broadcast icon for channel-number pop-up</description>
<type>image</type>
<posX>#cw.guide.popup.icon.x</posX>
<posY>#cw.guide.popup.icon.y</posY>
<width>300</width>
<height>60</height>
<texture>transmitter.png</texture>
<keepaspectratio>yes</keepaspectratio>
<colordiffuse>ffffffff</colordiffuse>
<visible>Control.IsVisible(34)</visible>
</control>
<control>
<description>Keyed channel number for channel-number pop-up</description>
<type>label</type>
<id>34</id>
<posX>#cw.guide.popup.text.x</posX>
<posY>#cw.guide.popup.text.y</posY>
<width>225</width>
<height>81</height>
<align>center</align>
<font>font20</font>
<textcolor>ffffffff</textcolor>
</control>
-- from CyberSimian in the UK