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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2015, 20:25   #21
Elena13
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 27
По умолчанию

Цитата:
Сообщение от isst Посмотреть сообщение
Что значит нестандартная форма? То есть размеры задаются с начала определенные? Я правильно понял?
И вот еще вопрос. Если у меня на форме один TrackBar и больше ничего нет, могу ли я сделать как-то так, чтоб окошко формы не было видно, а виделся только сам ползунок?
Elena13 вне форума Ответить с цитированием
Старый 07.01.2015, 20:55   #22
isst
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 85
Лампочка

Цитата:
Сообщение от Elena13 Посмотреть сообщение
Ну не прямоугольная, а круглая
Упс! А вот это мне неведомо А как Вы получите в Дельфи круглую форму, ну-ка поделитесь кодом!))

Так, что ли?

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ws_popup xor ws_dlgframe;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
FormRgn: hRgn;
begin
Form1.Brush.Style := bsSolid; //bsclear;
GetWindowRgn(Form1.Handle, FormRgn);
DeleteObject(FormRgn);
Form1.Height := 500;
Form1.Width := Form1.Height;
FormRgn := CreateRoundRectRgn(1, 1, Form1.Width - 1,
Form1.height - 1, Form1.width, Form1.height);
SetWindowRgn(Form1.Handle, FormRgn, TRUE);
end;

end.

Последний раз редактировалось isst; 07.01.2015 в 21:03.
isst вне форума Ответить с цитированием
Старый 07.01.2015, 21:13   #23
isst
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 85
Радость

Вот смотрите, я пытался скрестить круг с тем, чтобы еще окошко формы не было видно. Получилось тока второе

Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
    TrackBar2: TTrackBar;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    TrackBar3: TTrackBar;
    procedure TrackBar1Change(Sender: TObject);
    procedure TrackBar2Change(Sender: TObject);
    procedure TrackBar3Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  procedure CreateParams(var Params: TCreateParams); override;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  case TrackBar1.Position of
    1: Form1.ClientWidth:= 510;
    2: Form1.ClientWidth:= 520;
    3: Form1.ClientWidth:= 530;
    4: Form1.ClientWidth:= 540;
    5: Form1.ClientWidth:= 550;
    6: Form1.ClientWidth:= 560;
    7: Form1.ClientWidth:= 570;
    8: Form1.ClientWidth:= 580;
    9: Form1.ClientWidth:= 590;
    10: Form1.ClientWidth:= 600;
  end;
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
begin
  case TrackBar2.Position of
    1: Form1.ClientHeight:= 510;
    2: Form1.ClientHeight:= 520;
    3: Form1.ClientHeight:= 530;
    4: Form1.ClientHeight:= 540;
    5: Form1.ClientHeight:= 550;
    6: Form1.ClientHeight:= 560;
    7: Form1.ClientHeight:= 570;
    8: Form1.ClientHeight:= 580;
    9: Form1.ClientHeight:= 590;
    10: Form1.ClientHeight:= 600;
  end;
end;

procedure TForm1.TrackBar3Change(Sender: TObject);
begin
  case TrackBar3.Position of
    1: begin Form1.ClientWidth:= 510; Form1.ClientHeight:= 510; end;
    2: begin Form1.ClientWidth:= 520; Form1.ClientHeight:= 520; end;
    3: begin Form1.ClientWidth:= 530; Form1.ClientHeight:= 530; end;
    4: begin Form1.ClientWidth:= 540; Form1.ClientHeight:= 540; end;
    5: begin Form1.ClientWidth:= 550; Form1.ClientHeight:= 550; end;
    6: begin Form1.ClientWidth:= 560; Form1.ClientHeight:= 560; end;
    7: begin Form1.ClientWidth:= 570; Form1.ClientHeight:= 570; end;
    8: begin Form1.ClientWidth:= 580; Form1.ClientHeight:= 580; end;
    9: begin Form1.ClientWidth:= 590; Form1.ClientHeight:= 590; end;
    10: begin Form1.ClientWidth:= 600; Form1.ClientHeight:= 600; end;
  end;
end;

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
   inherited CreateParams(Params);
  Params.Style := Params.Style or ws_popup xor ws_dlgframe;

end;

procedure TForm1.FormCreate(Sender: TObject);
var
FormRgn: hRgn;
begin
Form1.Brush.Style := bsSolid; //bsclear;
GetWindowRgn(Form1.Handle, FormRgn);
DeleteObject(FormRgn);
Form1.Height := 500;
Form1.Width := Form1.Height;
FormRgn := CreateRoundRectRgn(1, 1, Form1.Width - 1,
Form1.height - 1, Form1.width, Form1.height);
SetWindowRgn(Form1.Handle, FormRgn, TRUE);
end;


end.
Вот приложение:
https://yadi.sk/d/7iGWhYCcdqFcY

Там пока коряво, но в последствии, думаю доработаем
isst вне форума Ответить с цитированием
Старый 09.01.2015, 20:15   #24
Elena13
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 27
По умолчанию

Да, так ну я если что придумаю, скину код)))
Elena13 вне форума Ответить с цитированием
Старый 09.01.2015, 20:30   #25
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от isst Посмотреть сообщение
Упс! А вот это мне неведомо А как Вы получите в Дельфи круглую форму, ну-ка поделитесь кодом!
Таких примеров и на форуме предостаточно, про сеть вообще молчу. Вот например http://programmersforum.ru/showthrea...F4%EE%F0%EC%E0
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер формы Andrey85 Компоненты Delphi 4 13.12.2010 00:14
размер формы blackstersl Общие вопросы Delphi 9 13.01.2010 07:44
Размер формы segail Microsoft Office Excel 2 10.07.2009 21:39
Помогите измененить размер картинки с помощью TrackBar oblachko Мультимедиа в Delphi 6 30.06.2009 02:25
Размер формы vitamin.rulez Помощь студентам 2 06.02.2009 15:29