Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подстановка фона в TEDit, Реально ли? 
:(
    Опции темы
Mixasik
Дата 15.11.2006, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



Кто-нибудь знает можно ли в TMemo подставить фон, рисунок желательно. И на нем бы отображался текст, или сделать компоненты(опять же Tedit TMemo и др.) невидимыми, но чтобы текст на месте этих компонентов был виден? 
Или может есть где литература о создании оформления к программам? Или просто кто научит как по-другому организовать оформление программы? 
PM MAIL ICQ   Вверх
VTK
Дата 15.11.2006, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



Цитата(Mixasik @ 15.11.2006,  08:18)
Кто-нибудь знает можно ли в TMemo подставить фон, рисунок желательно. И на нем бы отображался текст.

Например использовать TImage+Tlabel вместо TMemo
PM MAIL ICQ   Вверх
Romikgy
Дата 15.11.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



имхо onPaint никто не отменял


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Mixasik
Дата 15.11.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



Цитата(VTK @  15.11.2006,  09:06 Найти цитируемый пост)
Например использовать TImage+Tlabel вместо TMemo


Ну а как тогда вводить текст через них, мне не только вывод нужен?

Цитата(Romikgy @  15.11.2006,  11:07 Найти цитируемый пост)
имхо onPaint никто не отменял


А как это через onPaint сделать? Что-то я не все понял?

PM MAIL ICQ   Вверх
Poseidon
Дата 15.11.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Mixasik @  15.11.2006,  08:18 Найти цитируемый пост)
или сделать компоненты(опять же Tedit TMemo и др.) невидимыми, но чтобы текст на месте этих компонентов был виден?
 А что мешает сделать фон едита таким же, как и фон формы и убрать у едита борбюр? Тогда создастся впечатление невидимости компонента, но видимости текста.

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Color:= Form1.Color;
Edit1.BorderStyle:= bsNone;
end;


можно и в инспекторе настроить...

Добавлено @ 15:06 
Цитата(Romikgy @  15.11.2006,  11:07 Найти цитируемый пост)
имхо onPaint никто не отменял 

Romikgy, где ты видел в TEdit и TMemo onPaint?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Mephisto
Дата 15.11.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 1
Всего: 34



Вот, быстренький примерчик как можно заюзать:
Unit 1
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit2, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    myEdit : TMyEdit;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  myEdit := TMyEdit.Create(Self);

  myEdit.Left := 10;
  myEdit.Top := 10;

  myEdit.Show;
  myEdit.Width := 100;
  myEdit.Height := 100;
  myEdit.AutoSize := false;
  myEdit.Picture.LoadFromFile('C:\Program Files\Common Files\Borland Shared\Images\Buttons\Abort.bmp');
end;

end.


Unit2
Код
unit Unit2;

interface

uses Controls, StdCtrls, Graphics, Classes, Messages, Windows;

type
  TMyEdit = class (TCustomEdit)
  private
    FPicture : TPicture;
    FCanvas : TCanvas;
    procedure WndProc(var Message : TMessage); override;
    procedure Paint;
  public
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;
    property Picture : TPicture read FPicture write FPicture;
    property Autosize;
  end;

implementation

{ MyEdit }

constructor TMyEdit.Create(AOwner: TComponent);
begin
  inherited CReate(AOwner);
  FPicture := TPicture.Create;
  Parent := TWinControl(AOwner);
  FCanvas := TControlCanvas.Create;
  TControlCanvas(FCanvas).Control := Self;
end;

destructor TMyEdit.Destroy;
begin
  FPicture.Free;
  FCanvas.Free;
  inherited destroy;
end;

procedure TMyEdit.Paint;
begin
  try
    if FCanvas.LockCount > 0 then exit;
    FCanvas.Lock;
    FCanvas.Brush.Bitmap := FPicture.Bitmap;
    FillRect(FCanvas.Handle, ClientRect, 0);
    FCanvas.TextOut(0,0, Text);
    FCanvas.Unlock;
  finally
  end;
end;

procedure TMyEdit.WndProc(var Message: TMessage);
begin
  Case Message.Msg of
    WM_PAINT:
    begin
      Inherited WndProc(Message);
      Paint;
    end;
  else
    Inherited WndProc(Message);
  end;
end;

end.


В смысле как можно добавить св-во PIcture к Edit.

Это сообщение отредактировал(а) Mephisto - 15.11.2006, 16:54
PM   Вверх
Mixasik
Дата 17.11.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



Цитата(Poseidon @  15.11.2006,  15:04 Найти цитируемый пост)
 А что мешает сделать фон едита таким же, как и фон формы и убрать у едита борбюр? Тогда создастся впечатление невидимости компонента, но видимости текста.


А если фон состоит из множества картинок, то так не получится?!

Цитата(Mephisto @  15.11.2006,  15:52 Найти цитируемый пост)
В смысле как можно добавить св-во PIcture к Edit.


Спасибо, попробую, думаю это как рас то, что надо smile 

Это сообщение отредактировал(а) Mixasik - 17.11.2006, 16:47
PM MAIL ICQ   Вверх
Mixasik
Дата 17.11.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



user posted image
Вот дизайн, который предполагается для программы, а вто программа
user posted image
И подскажите, как прогу сделать с таким дизвйном?
Mephisto, этот способ добавляет рисунок, но когда текст набирается или выводится он написан на белом фоне smile 


Это сообщение отредактировал(а) Mixasik - 17.11.2006, 18:00
PM MAIL ICQ   Вверх
Mixasik
Дата 18.11.2006, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



Ну вот покрупнее прикрепил


Присоединённый файл ( Кол-во скачиваний: 30 )
Присоединённый файл  design.jpg 9,96 Kb
PM MAIL ICQ   Вверх
Mixasik
Дата 18.11.2006, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



А вот вид программы...

Присоединённый файл ( Кол-во скачиваний: 31 )
Присоединённый файл  prog.JPG 9,23 Kb
PM MAIL ICQ   Вверх
Poseidon
Дата 18.11.2006, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Ну так ё-мое, для этого и подойдет
Цитата(Poseidon @  15.11.2006,  15:04 Найти цитируемый пост)
сделать фон едита таким же, как и фон формы и убрать у едита бордюр


Фон у форма так же не стандартный оставляешь, а подбираешь какой надо. Или я чего-то недопонял...



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Mixasik
Дата 19.11.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



Цитата(Poseidon @  18.11.2006,  20:41 Найти цитируемый пост)
Фон у форма так же не стандартный оставляешь, а подбираешь какой надо. Или я чего-то недопонял...


У меня фон - это картинка, а когда я ствлю, фон формы, поле принемает фон формы , а не картинки в компоненте Timage, который находится под TMemo....
А мне надо, чтобы был рисунок фоном компонента....
И никак это не сделаю
PM MAIL ICQ   Вверх
Mephisto
Дата 20.11.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 1
Всего: 34



Прозрачный Edit сделать не получится, можно сделать только полупрозрачный! Ноэто безсмысленно. Текст будет плохо видно.
Лучше делать либо свой компонент на подобии TCustomEdit. Либо искать уже готовый.

Компонент на основе TCustomEdit как видишь сделать не получится. 
PM   Вверх
Mixasik
Дата 21.11.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 4.10.2006
Где: Волгоград

Репутация: нет
Всего: нет



Цитата(Mephisto @  20.11.2006,  13:43 Найти цитируемый пост)
Лучше делать либо свой компонент на подобии TCustomEdit. Либо искать уже готовый.


Знать бы как сделать?! Ну придется искать?

Ну может кто знает, как создавать дизайн к программе, возможно я неправильно думаю?)

PM MAIL ICQ   Вверх
Mephisto
Дата 22.11.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 1
Всего: 34



Цитата(Mixasik @  21.11.2006,  20:52 Найти цитируемый пост)
Знать бы как сделать?! 

Я был очень близок к решению. Только надо посмотреть где и каким образом в стандартном компоненте выводят текст и перекрыть метод...
Надо дальше коппать. У меня нет времени.
Цитата(Mixasik @  21.11.2006,  20:52 Найти цитируемый пост)
возможно я неправильно думаю

Возможно правильно!  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.