Вопрос № 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... Чтоб можно было менять скины.
Заранее спасибо.
Отвечает: 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