Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 759
от 24.03.2007, 05:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 447, Экспертов: 71
В номере:Вопросов: 3, Ответов: 5


Вопрос № 78787: Здравствуйте! Как сделать так чтобы форма с ее компонентами реагировала на изменение расширения экрана. Я написал порогу на компе с большим расширением и на других компах ерунда, какая-та получается, заранее благодарен!...
Вопрос № 78801: Здравствуйте уважаемые эксперты. Подскажите как сделать или где почитать по-подробнее о том как сделать нестандартный интерфейс формы, как например у winamp,icq... Чтоб можно было менять скины. Заранее спасибо....
Вопрос № 78814: Здраствуйте уважаемые эксперты, помогите пожалуйста мне срочно решить один вопрос, Есть 2 поль мэмо, и мне нужно чтобы когда в первом мэмо происходит событие TForm1.Memo1KeyDown чтобы во втором мемо оно тоже происходило т.е. я пробовал делать вот...

Вопрос № 78.787
Здравствуйте! Как сделать так чтобы форма с ее компонентами реагировала на изменение расширения экрана. Я написал порогу на компе с большим расширением и на других компах ерунда, какая-та получается, заранее благодарен!
Отправлен: 18.03.2007, 08:18
Вопрос задал: Rashit (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Gh0stik
Здравствуйте, Rashit!

Я Вам рекомендую использовать такие свойства объектов как:
Align - выравнивание объекта относительно формы;
Anchors - "якоря", устанавливаются для привязки объекта к той или иной стороне формы.
Constraints - устанавливаем максимальные и минимальные размеры объекта, очень удобно когда нужно жестко установить размер объекта - не зависимо от размера формы.

И еще рекомендую Вам написать универсальную процедуру, которая в момент изменения формы пересчитывала размеры объектов. И соответственно применять ее при изменении размера формы, т.е при событии FormResize().

Также предлагаю Вам ознакомиться с проектом в приложении.

Good Luck!!!

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.

Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 18.03.2007, 16:34
Оценка за ответ: 5


Вопрос № 78.801
Здравствуйте уважаемые эксперты.
Подскажите как сделать или где почитать по-подробнее о том как сделать нестандартный интерфейс формы, как например у winamp,icq... Чтоб можно было менять скины.
Заранее спасибо.
Отправлен: 18.03.2007, 11:32
Вопрос задал: Spiteful imp (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Spawn
Здравствуйте, Spiteful imp!
Для этого есть много компонентов, в том числе и SkinEngine, ThemeEngine, VCL Skin и многие другие. Вместе с ними идут и демки, смотрите, изучайте...
http://www.torry.net/pages.php?id=1544
---------
Знания - сила!
Ответ отправил: Spawn (статус: 1-ый класс)
Ответ отправлен: 18.03.2007, 11:53
Оценка за ответ: 4
Комментарий оценки:
Спасибо попробую посмотреть.
Но хотелось бы знать КАК это сделать а не брать готовое решение.

Отвечает: Troyan
Здравствуйте, Spiteful imp!
Могу предложить простейший вариант. Ставите на фон картинку. Всё, где должно быть прозрачным заливаете цветом, который вы не используете (часто используют ярко-зеленый). Поставте этот цвет в TransparentColorValue у формы и включите TransparentColor. После этого поставьте у формы BorderStyle в BsNone. Вот вам и форма нестандартной формы.
Для создания скинов можно создавать файлы, в которых будет та самая картинка (фон), размеры и положение элементов на форме (сами элементы, по-моему, меняться не должны).
Возможно, этот способ не правильный, но абсолютно рабочий и простой для понимания.
---------
Цени законы своего сердца, иди на обгон! Будь человеком, не запачкай свою совесть!
Ответ отправил: Troyan (статус: 8-ой класс)
Ответ отправлен: 18.03.2007, 19:31
Оценка за ответ: 4
Комментарий оценки:
Спасибо. До этого способа я и сам додумался проблема в том что картинку выводить с помощью canvas, то при перерисовки формы картинка стирается :( Ес 090;ь конечно вариант повсеить новую прорисовку фона на onIdle но не знаю на скоко это будет оптимально :(

Отвечает: Coupler
Здравствуйте, Spiteful imp!
Здравствуйте, Spiteful imp!
Думаю, что Вы сходу не создадите то, что компании создавали и отлаживали (!) годами. Самому можно создать что-нибудь простое (но необязательно некрасивое) решение. Посмотрите вот эту статью. Неплохой пример для создания скинов - использование TImage.
Но самому будет проблематично сделать нестандартный интерфейс для "сложных" компонентов - TStringGrid, например. Я для оформления программ использую AlphaSkins. Но для программ с простым интерфейсом лучше поискать другие пакеты, которые используют именно скины, по-моему, таким является TSkinForm - поищите его на torry.net. Или сделать самому :)
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 21.03.2007, 15:25
Оценка за ответ: 5
Комментарий оценки:
Спасибо вот это то что надо :) Я и сам прекрасно понимаю что справится этой задачей не просто, я просто хотел понять принципы создания.


Вопрос № 78.814
Здраствуйте уважаемые эксперты, помогите пожалуйста мне срочно решить один вопрос,
Есть 2 поль мэмо, и мне нужно чтобы когда в первом мэмо происходит событие TForm1.Memo1KeyDown чтобы во втором мемо оно тоже происходило т.е. я пробовал делать вот так:
procedure TForm1.Memo2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);

begin
Form1.Memo4KeyDown();
end;
Но что писать в скобках я незнаю :(
Вся эта заморочка мне нужна т.к. первый мэмо нестандартный, с проддержкой скинов и в нём чтото такое:
if Key = VK_RETURN then
begin
button1.Click
end; неработает, а второй мэмо стандартный и я хочу с его помощю както это реализовать, может ктонибуть знает другой способ реализовать это?
p.s. Нестандартный компонент взят с сайта www.almdev.com
желательно чтобы ответ получить к вечеру, т.к. мне это срочно нужно,
Заранее Спасибо.
С Уважением, Станислав.
Отправлен: 18.03.2007, 15:15
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Gh0stik
Здравствуйте, Станислав!

Просто передавайте теже параметры что и получаете, т.е.:

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Memo2KeyDown(Sender,Key,Shift);
end;

procedure TForm1.Memo2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ShowMessage('Memo2KeyDown');
end;


Но у Вас возможно придеться немного видоизменить так как Вы не указали какие параметры у нестандартного мемо-поля в событии Memo2KeyDown.

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 18.03.2007, 18:36


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.46 от 18.03.2007
Яндекс Rambler's Top100

В избранное