Это, конечно, возможно. Все, что необходимо сделать, зарегистрировать элемент управления ActiveX Mozilla (mozctlx.dll, которому я верю), и можно перетащить его на форму как любой элемент управления ActiveX. Интерфейс программирования подобен (хотя не идентичный) к IE один, и можно даже пользоваться управляемой библиотекой Microsoft.MSHTML.dll для управления в некоторых случаях.
я полагаю, что это упаковывается с Firefox. В противном случае можно получить просто встраиваемые биты от Mozilla также. Просто сделайте Google ищет элемент управления ActiveX Mozilla или Mozilla, Встраивающий C#, и это должно взять Вас вниз правильный путь.
В некоторых случаях вы можете использовать свойство «content», чтобы изменить то, что содержится в элементе, хотя лично я бы использовал для этого javascript.
Просто введите пустой текст в элемент .
Если кнопка является кнопкой отправки ввода, используйте изображение
<input type="image" src="/images/some_image.png" />
Вы можете стилизовать это с помощью CSS
input[type="image"] {
border: 1px solid red;
width: 150px;
height: 35px;
}
Если это ссылки, Дейв предоставил ответ.
@Justice прав. Чтобы немного расширить это, в C единственная сложная часть - отличить типы от переменных. В частности, когда вы видите это:
T t;
Вам необходимо знать, что T
- это тип, для которого это разрешенный синтаксический анализ. Это то, что вам нужно найти в таблице символов. Это относительно просто выяснить, если типы добавляются в таблицу символов по мере продолжения синтаксического анализа. Вам не нужно проделывать большую работу в компиляторе: либо T
присутствует в таблице, либо его нет.
В C ++ много всего, много больше сложный. Существует огромное количество неоднозначных или потенциально неоднозначных конструкций. Наиболее очевидный из них:
B::C (c);
Помимо того факта, что неясно, является ли B
классом
, typedef
или пространство имен
, также не ясно, является ли C
типом, а c
объектом этого типа, или если C
- это функция (или конструктор), принимающая c
в качестве аргумента (или даже если C - объект с перегруженным оператором ()
). Вам нужна таблица символов, чтобы продолжить синтаксический анализ, хотя все еще можно продолжить достаточно быстро, поскольку тип символа находится в таблице символов.
Ситуация становится намного, намного, намного хуже, чем когда шаблоны входят в смешивание. Если C (c)
находится в шаблоне, вы можете не знать в фактическом определении шаблона, является ли C типом или функцией / объектом. Это потому, что шаблон может объявить C
как либо тип, либо переменная . Это означает, что вам нужна таблица символов, но у вас ее нет - и у вас не может быть , пока шаблон не будет фактически объявлен. Хуже того, не обязательно иметь только тип символа: вы можете столкнуться с ситуациями, когда потребуется полная информация о типе, который представляет символ, включая размер, выравнивание и другую машинно-зависимую информацию.
Все это имеет несколько практических эффектов. Я бы назвал два наиболее важных:
Я полагаю, вы хотите, чтобы исходный текст исчезал, если изображение загружено.
Для этого приложения вы можете использовать следующее:
<INPUT TYPE="image" SRC="images/yourButtongif" HEIGHT="30" WIDTH="100" ALT="Text In Case There Is No Image" />
Вы можете применить дополнительные стили, если необходимо, но этот минимум сделает работу для вас.
Если я понимаю вопрос, это может сработать (у меня сейчас нет IE7 для тестирования, поэтому я не уверен на 100%)
Для такой разметки:
<a href="javascript:return false;" class="button" id="buttonOK"><span
class="icon">Ok</span></a>
Используйте этот css:
span.icon {
/*visibility: hidden;*/
display:block;
margin-left:-1000;
width:100px;
}
или это может сработать в зависимости от ваши требования к удобству использования / доступности:
span.icon {
visibility: hidden;
}
I don't know what users / programs the labels need to be in the HTML for, but if it's for text browsers and such, maybe you could insert a JavaScript that removes the labels onLoad?
JQuery or Prototype would make that very easy.