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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2011, 13:29   #1
Trikster
Пользователь
 
Аватар для Trikster
 
Регистрация: 11.02.2011
Сообщений: 31
Вопрос Горизонтальная прокрутка в CheckListBox

Можно ли как-нибудь добавить в CheckListBox горизонтальную прокрутку?!
Очень нужно!
Trikster вне форума Ответить с цитированием
Старый 05.06.2011, 14:05   #2
volod3000
Форумчанин
 
Аватар для volod3000
 
Регистрация: 18.12.2008
Сообщений: 266
По умолчанию

Держи :

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  i, MaxWidth: integer;
begin
  MaxWidth := 0;
  for i := 0 to CheckListBox1.Items.Count - 1 do
    if MaxWidth < CheckListBox1.Canvas.TextWidth(CheckListBox1.Items.Strings[i]) then
      MaxWidth := CheckListBox1.Canvas.TextWidth(CheckListBox1.Items.Strings[i]);
  SendMessage(CheckListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0);
end;

Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя.
volod3000 вне форума Ответить с цитированием
Старый 05.06.2011, 14:10   #3
Trikster
Пользователь
 
Аватар для Trikster
 
Регистрация: 11.02.2011
Сообщений: 31
По умолчанию

не работает(

Извиняюсь, в TCheckListBox действительно работает. А можно как-нибудь применить этот код для TsCheckListBox ?

Последний раз редактировалось Trikster; 05.06.2011 в 14:16.
Trikster вне форума Ответить с цитированием
Старый 05.06.2011, 14:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО разве что поместить его на ScrollBar и ширину выставить по максимальной длине строк.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.06.2011, 14:25   #5
volod3000
Форумчанин
 
Аватар для volod3000
 
Регистрация: 18.12.2008
Сообщений: 266
По умолчанию

Вот :

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  i, MaxWidth: integer;
begin
  MaxWidth := 0;
  for i := 0 to sCheckListBox1.Items.Count - 1 do
    if MaxWidth < sCheckListBox1.Canvas.TextWidth(sCheckListBox1.Items.Strings[i]) then
      MaxWidth := sCheckListBox1.Canvas.TextWidth(sCheckListBox1.Items.Strings[i]);
  SendMessage(sCheckListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0);
end;

Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя.
volod3000 вне форума Ответить с цитированием
Старый 05.06.2011, 14:37   #6
Trikster
Пользователь
 
Аватар для Trikster
 
Регистрация: 11.02.2011
Сообщений: 31
По умолчанию

TsCheckListBox - компонент из alphacontrols, для него не работает
Trikster вне форума Ответить с цитированием
Старый 05.06.2011, 15:00   #7
volod3000
Форумчанин
 
Аватар для volod3000
 
Регистрация: 18.12.2008
Сообщений: 266
По умолчанию

Все работает, вот пример :

Код:
interface

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

type
  TForm1 = class(TForm)
    sCheckListBox1: TsCheckListBox;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i, MaxWidth: integer;
begin
  MaxWidth := 0;
  for i := 0 to sCheckListBox1.Items.Count - 1 do
    if MaxWidth < sCheckListBox1.Canvas.TextWidth(sCheckListBox1.Items.Strings[i]) then
      MaxWidth := sCheckListBox1.Canvas.TextWidth(sCheckListBox1.Items.Strings[i]);
  SendMessage(sCheckListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0);

  Label1.Caption := sCheckListBox1.Name;
end;

Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя.
volod3000 вне форума Ответить с цитированием
Старый 05.06.2011, 15:04   #8
Trikster
Пользователь
 
Аватар для Trikster
 
Регистрация: 11.02.2011
Сообщений: 31
По умолчанию

хм, может нужно в инспекторе объектов что-нибудь выставить?
Trikster вне форума Ответить с цитированием
Старый 05.06.2011, 15:40   #9
volod3000
Форумчанин
 
Аватар для volod3000
 
Регистрация: 18.12.2008
Сообщений: 266
По умолчанию

Вот весь проект, попробуйте его у себя открыть .
Вложения
Тип файла: rar pro.rar (873.9 Кб, 17 просмотров)

Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя.
volod3000 вне форума Ответить с цитированием
Старый 05.06.2011, 15:42   #10
Trikster
Пользователь
 
Аватар для Trikster
 
Регистрация: 11.02.2011
Сообщений: 31
По умолчанию

я уже пробовал создавать новый проект, там все работает, хотя вроде borderstyle поставил None.
делаю все тоже самое в своем проекте и НИЧЕГО, не пойму в чем проблема!
Trikster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ComboBox авторасширение, горизонтальная полоса прокрутки Lilu_123432 Компоненты Delphi 0 29.04.2011 14:46
горизонтальная гистограмма Максикок Помощь студентам 8 25.03.2011 05:14
Горизонтальная столбиковая диаграмма Delpi bercut Общие вопросы Delphi 1 25.10.2010 18:49
Горизонтальная позиция шашек a,b,c,d... KANER Общие вопросы C/C++ 7 17.09.2010 14:28
Только горизонтальная прокрутка для DIV roma86 HTML и CSS 0 26.08.2009 12:49