Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2009, 00:07   #1
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию Title на форме. Как можно перерисовать caption на form? Или убрать его и вместо использовать картинки

Как можно перерисовать титл на форме? Кроме как убрать его и вместо использовать картинки.
Или как можно сделать что бы форма не имеющая бордоров могла изменять размер? То есть как будто они там есть.
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 18.01.2009, 00:18   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Что такое бордоры?

Код:
form1.BorderStyle:=bsSizeToolWin;
- без картинки с синей полоской и изменяющимеся размерами.

Рисовать можно на form1.Canvas
Alar вне форума Ответить с цитированием
Старый 18.01.2009, 00:28   #3
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Бордоры - это полоски по сторанам с помощью которых изменяется размер.
Код:
form1.BorderStyle:=bsSizeToolWin;
При этом не уберается верхняя полоска. Я просто хочу сделать свой титл. ТО есть сделать полностью свое оформление формы, без всяких частей винды. И желательно на стандартных компонентах.
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 18.01.2009, 00:55   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Я просто хочу сделать полностью свое оформление формы, без всяких частей винды. И желательно на стандартных компонентах.
Так пойдет? Никаких альфаскинов и прочих "прибамбасов" при построении формы:
http://yaproger.ru/ftp/DFaq.rar
mihali4 вне форума Ответить с цитированием
Старый 18.01.2009, 00:55   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Используйте на здоровье...

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
      procedure CreateParams(var Params: TCreateParams); override;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

 procedure TForm1.CreateParams(var Params: TCreateParams) ;
begin
  BorderStyle := bsNone;

  inherited;

  Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
  Params.Style := Params.Style or WS_SIZEBOX;
end;


end.
Alar вне форума Ответить с цитированием
Старый 18.01.2009, 01:51   #6
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

А можно как то сделать что бы края были не стандартными, а просто черная линия? Но и при этом менялся размер?
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 18.01.2009, 01:54   #7
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

2mihali4, Ваша почему то не могу скачать
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 18.01.2009, 02:37   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Шульц Посмотреть сообщение
2mihali4, Ваша почему то не могу скачать
Правой мышкой - "Сохранить по ссылке как..."
mihali4 вне форума Ответить с цитированием
Старый 18.01.2009, 03:33   #9
ViktorXP
Форумчанин
 
Аватар для ViktorXP
 
Регистрация: 24.11.2006
Сообщений: 108
По умолчанию

Цитата:
Сообщение от Шульц Посмотреть сообщение
Как можно перерисовать титл на форме?
гдето так
Код:
type
  TForm1 = class(TForm)
  private
    procedure MyPaint(var d: TWMNCPaint); message WM_NCPAINT;
  public
    { Public declarations }
  end;


procedure TForm1.MyPaint(var d: TWMNCPaint);
var
  DC: THandle;
  Brush: TBrush;
begin
  DC := GetWindowDC(Handle);
  Brush := TBrush.Create;
  try
    Brush.Color := clBlue;
    FillRect(DC, Rect(0,0,Width, 28), Brush.Handle);
    FillRect(DC, Rect(0,0,8, Height), Brush.Handle);
    FillRect(DC, Rect(Width-8,0,Width, Height), Brush.Handle);
    FillRect(DC, Rect(0,Height-8,Width, Height), Brush.Handle);
  finally
    ReleaseDC(Handle, DC);
    Brush.Free;
  end;
end;
цыфра 8 и 28 взяты методом подбора. но для правильности нужно вычислять из разных параметров (высота заголовка, высота бордюра и тому подобного) которое делается с помощю GetSystemMetrics

Последний раз редактировалось ViktorXP; 18.01.2009 в 03:39.
ViktorXP вне форума Ответить с цитированием
Старый 18.01.2009, 14:38   #10
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Цитата:
Правой мышкой - "Сохранить по ссылке как..."
Не открывается, идет какое-то ресование, и так долго, а когда заканчивается, то ничего не появляется
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить стиль гиперссылки? Нужно убрать рамку вокруг картинки. GLB HTML и CSS 5 18.01.2009 19:18
Как обновить\перерисовать рисунок на форме или компоненте? Selebro Общие вопросы C/C++ 1 21.12.2008 21:16
Висит процесс, как его можно убрать? HAMMAN Помощь студентам 5 16.05.2008 08:55
Как убрать (спрятать) кнопку Maximize на форме чтобы остались только Minimize и Close athlant64 Общие вопросы Delphi 15 11.11.2007 17:08
изменить размер шрифта в свойстве “Caption” формы (Form) Борис2 Компоненты Delphi 8 13.09.2007 20:36