0 / 0 / 1
Регистрация: 02.03.2017
Сообщений: 129
1

Как сделать progressbar вертикальным?

10.08.2017, 10:26. Показов 2366. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как сделать progressbar вертикальным или повернуть его на 90 градусов? Чтобы его вверх был максимумом, а дно - минимумом. Наподобие термометра, ну вы поняли.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2017, 10:26
Ответы с готовыми решениями:

Как сделать текст вертикальным?
Поставил виджет на сайт, ( http://andreyzolotarev.ru/ ) на нем должен быть вертикальный текст, но...

Как сделать так, чтобы при повороте устройства экран оставался вертикальным?
Как сделать так, чтобы при повороте устройства экран оставался вертикальным? (Не смеяться, только...

Сделать меню вертикальным
Всем хорошего времени суток! Согласно дизайну сайта меню требуется сделать вертикальным с левой...

Можно ли сделать текст в label вертикальным?
Можно ли сделать текст в label вертикальным? Если да, то можно, пожалуйста, привести пример кода?

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
10.08.2017, 16:56 2
Лучший ответ Сообщение было отмечено Kostik654 как решение

Решение

Добавить к его стилю PBS_VERTICAL. Обычно это делается через переопределение свойства CreateParams, но PascalABC.NET, похоже, этого делать не умеет, поэтому я просто воспользовался установкой стиля через SetWindowLongPtr/GetWindowLongPtr. Вот исходник проекта (создавать объект класса придется вручную), и результат работы:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
unit Unit1;
 
interface
 
uses System, System.Drawing, System.Windows.Forms;
 
type
  VerticalProgressBar = class(System.Windows.Forms.ProgressBar)
  public 
    constructor Create;
  end;
 
type
  Form1 = class(Form)
    procedure button1_Click(sender: Object; e: EventArgs);
    procedure Form1_Load(sender: Object; e: EventArgs);
  {$region FormDesigner}
  private 
    {$resource Unit1.Form1.resources}
    components: System.ComponentModel.IContainer;
    button1: Button;
    {$include Unit1.Form1.inc}
  {$endregion FormDesigner}
  public 
    constructor;
    begin
      InitializeComponent;
    end;
  
  public 
    pb1: VerticalProgressBar;
  end;
 
implementation
 
function SetWindowLongPtr(h: System.IntPtr; nIndex: integer; dwNewLong: integer): integer;
external 'user32.dll';
 
function GetWindowLongPtr(h: System.IntPtr; nIndex: integer): integer;
external 'user32.dll';
 
procedure Form1.button1_Click(sender: Object; e: EventArgs);
begin
  pb1.Value := 75; // Это и видим на экране
end;
 
procedure Form1.Form1_Load(sender: Object; e: EventArgs);
begin
  // создаем вертикальный прогресс и задаем размеры
  self.pb1 := new VerticalProgressBar;
  self.pb1.Size := new System.Drawing.Size(23, 100);
  self.Controls.Add(pb1);
end;
 
// ***
constructor VerticalProgressBar.Create;
begin
  inherited;
  SetWindowLongPtr(self.Handle, -16, GetWindowLongPtr(self.Handle, -16) or $04); PBS_VERTICAL = $04, тут и добавляем стиль
end;
 
end.
Миниатюры
Как сделать progressbar вертикальным?  
1
10.08.2017, 16:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2017, 16:56
Помогаю со студенческими работами здесь

Можно ли средствами html/css сделать текст вертикальным
Дизайнер нарисовал, а заказчик утвердил макет сайта с вертикально ориентированными ценниками (т.е....

Элемент Splitter из вкладки Additional можно ли сделать вертикальным?
Собственно вопрос: Элемент Splitter из вкладки Additional можно ли сделать вертикальным?

Нужно сделать меню вертикальным и убрать глюки на сайте ucoz
Помогите пожалуйста сделать меню вертикальным и убрать линию по средине сайта,сайт почему то...

Нужно сделать меню вертикальным и убрать глюки на сайте ucoz
Помогите пожалуйста сделать меню вертикальным и убрать линию по средине сайта,сайт почему то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru