Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

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

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

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

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

Код:
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, 02:51   #6
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

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

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

Цитата:
Сообщение от Шульц Посмотреть сообщение
2mihali4, Ваша почему то не могу скачать
Правой мышкой - "Сохранить по ссылке как..."
mihali4 вне форума   Ответить с цитированием
Старый 18.01.2009, 04: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 в 04:39.
ViktorXP вне форума   Ответить с цитированием
Старый 18.01.2009, 15:38   #10
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


20:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.