Последние записи
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
- Сравнение языков на массивах. Часть 1
- Сравнение языков по скорости
- Чтение огромных xml-файлов
- Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
26th
Июл
ScrollBar у MessageBox
Posted by obzor under Delphi
Есть ли какой нить будь способ сделать на MessageBox’e полосы прокрутки? Просто у меня получается слишком большой мессадж бокс что всего его содержимого не прочитать без таких полос прокрутки. Можно ли их туда как нить поставить?
//MessageDialog with ScrollBox
function MessageDlgScroll(const Msg: String; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons;
MaxHeight: Integer): Integer;
var
aMsgDlg: TForm;
i: Integer;
dlgButton: TButton;
dlgLabel: TLabel;
dlgImage: TImage;
aScrollBox: TScrollBox;
begin
Result:= mrNone;
begin
aMsgDlg:= CreateMessageDialog(Msg, DlgType, Buttons);
if aMsgDlg.Height > MaxHeight then aMsgDlg.Height:= MaxHeight;
aScrollBox:= TScrollBox.Create(aMsgDlg);
with aScrollBox do
begin
Height:= aMsgDlg.Height - 100;
BorderStyle:= bsNone;
Parent:= aMsgDlg;
end;
for i:= 0 to aMsgDlg.ComponentCount - 1 do
begin
if (aMsgDlg.Components is TImage) then
begin
dlgImage:= TImage(aMsgDlg.Components);
aScrollBox.Left:= dlgImage.BoundsRect.Right + 4;
end;
if (aMsgDlg.Components is TLabel) then
begin
dlgLabel:= TLabel(aMsgDlg.Components);
dlgLabel.Parent:= aScrollBox;
dlgLabel.Left:= 0;
aScrollBox.Width:= dlgLabel.Width + 24;
end;
if (aMsgDlg.Components is TButton) then
begin
dlgButton:= TButton(aMsgDlg.Components);
dlgButton.Top:= aScrollBox.BoundsRect.Bottom + 24;
end;
end;
Result:= aMsgDlg.ShowModal;
end;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)