Delegate controls are a very good mechanism to replace an existing control with another control through a SharePoint Feature. For example a delegate control is declared as
<SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox"/>
The key to have your custom search control appear in place of the above declaration is to ensure the following:
a) Create a feature with feature details file entries as below.
<?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Control Id="SmallSearchInputBox" Sequence="100" Url="~/_controltemplates/mysearchcontrol.ascx"/> </Elements>.
The sequence number and ID is very important. Your sequence number should be the lowest if there are already multiple features registered for the same control Id of "SmallSearchInputBox" .
b) if you have MOSS installed you will notice that there are already 3 features for SmallSearchInputBox (a quick search on Features folder will reveal this ) and the lowest sequence number is 25. So to have your control appear in place of the standard search box , reduce your sequence number to less than 25.
c) Install and Activate the feature.
d) Restart IIS if necessary.