Как включить CSS в проект IntraWeb?

Объяснение:

Я создал новое автономное приложение IntraWeb с помощью мастера приложений IntraWeb, и я поместил несколько кнопок и правок с событиями внутри, все работало нормально, но кнопки и правки нуждаются в некотором стиле, потому что они уродливые.

Цель:

Я хочу стилизовать их с помощью CSS, чтобы перезаписать стиль по умолчанию и добавить новые стили.

Проблема:

Я не могу найти, как включить файл CSS в мой проект для последующего использования его в свойстве StyleSheet в моем TIWForm.

Что я пробовал:

Я попытался вручную поместить файл css в папку Debug, в той же папке, что и .exe, и тоже попытался щелкнуть File - ›New -› Others - ›CSS Stylesheet, а затем вставил код css и сохранил его в той же папке Debug. из .exe.

Мне нужно решить эту проблему, иначе я не смогу использовать приложение IntraWeb.


person Paulo Roberto Rosa    schedule 31.07.2014    source источник
comment
Я не уверен, что понимаю вопрос. После того, как вы создали и сохранили свой файл CSS, вы просто устанавливаете TIWForm.StyleSheet.FileName на имя этого файла.   -  person Ken White    schedule 01.08.2014
comment
Я пытался установить свойство FileName моего TIWForm в инспекторе объектов на мое имя файла css, но это не работает   -  person Paulo Roberto Rosa    schedule 01.08.2014
comment
Установка имени файла, безусловно, работает, как и установка URL-адреса. Вы должны действительно применить стили. В демонстрациях для Intraweb есть пример использования настраиваемого .CSS. У меня IW для XE6 не установлен, но в старых версиях он находился в папке общих документов (в Win 7 он находится в C:\Users\Public\Documents\RAD Studio\5.0\Demos\Intraweb\Win32); есть папка с именем Features. Если вы откроете проект в этой папке и покопаетесь, вы увидите, что он использует собственный .CSS с именем azweb.css для стилизации некоторых вещей. (И говорить, что не работают без подробностей, бессмысленно.)   -  person Ken White    schedule 01.08.2014
comment
Извините за то, что не работает, проблема, которую я получаю, - файл не найден, я использую автономный и, вероятно, файл css не развертывается на сервере, но я попытаюсь увидеть здесь образцы   -  person Paulo Roberto Rosa    schedule 01.08.2014
comment
В порядке. Используйте URL-адрес и сделайте его относительным к вашему проекту (например, если вы помещаете файл CSS на свой сервер в папку files, укажите его как ./files/your.css. Если вы ссылаетесь на него по имени файла, вы также можете использовать .\files\your.css .   -  person Ken White    schedule 01.08.2014
comment
используя ссылку по имени файла .\files\css\bee.css, я получил сообщение об ошибке из консоли: "NetworkError: 404 Not Found - http://127.0.0.1:55227/Files/files/css/bee.css"   -  person Paulo Roberto Rosa    schedule 01.08.2014
comment
о, теперь я использовал ..\files\css\bee.css и нашел правильный путь, но все еще не нашел файл - ›"NetworkError: 404 Not Found - http://127.0.0.1:55279/files/css/bee.css"   -  person Paulo Roberto Rosa    schedule 01.08.2014
comment
Это проблема с папкой, и я не могу видеть вашу структуру каталогов отсюда. Папка, в которую вы помещаете файл, должна быть доступна веб-серверу (или вашему приложению). Есть ли папка в корневом каталоге + /files/css? Я не знаю, что вы настроили как корневую веб-папку. Теперь это не проблема Intraweb; это проблема конфигурации, и я не могу с этим помочь, потому что я не вижу вашу конфигурацию отсюда. Прости.   -  person Ken White    schedule 01.08.2014


Ответы (1)


Автономное приложение IntraWeb по умолчанию ищет папку с именем \wwwroot\ в каталоге приложения. Путь Stylesheet.Filename относится к этой папке.

Чтобы решить вашу проблему, просто создайте ..\Win32\Debug\wwwroot\ и поместите туда свой bee.css. Затем в инспекторе объектов измените StyleSheet.Filename на bee.css.

Если вы предпочитаете настраивать его для каждого кода, вы можете сделать это в событии onRender следующим образом:

procedure TIWSomeForm.IWAppFormRender(Sender: TObject); 
begin   
  Stylesheet.Filename := 'bee.css'; 
end;

Если вы хотите изменить папку содержимого, вы можете сделать следующее:

function IWServerController: TIWServerController;
begin
  Result := TIWServerController(GServerController);
  gsc.ContentPath := 'Full\Path\Here';
end;

Имейте в виду, что вам нужно сделать это в конструкторе!

Документацию можно найти здесь: http://docs.atozed.com/docs.dll/classes/TIWServerControllerBase.html

PS: Не забудьте применить свои классы CSS в свойстве Css.

person snowfrog    schedule 04.08.2014
comment
идея: вместо использования .. \ Win32 \ Debug \ wwwroot \ можно улучшить рабочий процесс, изменив папку вывода на более удобную папку (я использую ту же папку, что и основная папка DRPJ). теперь вам не нужно перемещаться по всем этим папкам, чтобы изменить файл CSS :) - person Z80; 07.07.2020